제곱 숫자 는 n^2
n이 정수인 형식입니다 . 이것을 제곱근이라고도합니다. 왜냐하면 제곱근을 취하면 정수가되기 때문입니다.
처음 10 개의 제곱 숫자는 다음과 같습니다. ( OEIS )
0, 1, 4, 9, 16, 25, 36, 49, 64, 81
삼각형 숫자 는 정삼각형을 형성 할 수 있는 숫자입니다. n 번째 삼각형 수는 1에서 n까지의 모든 자연수의 합과 같습니다.
처음 10 개의 삼각형 숫자는 다음과 같습니다. ( OEIS )
0, 1, 3, 6, 10, 15, 21, 28, 36, 45
정사각형 삼각형 숫자 는 정사각형과 삼각형 모두의 숫자입니다.
처음 10 제곱 삼각 숫자는 다음과 같습니다. ( OEIS )
0, 1, 36, 1225, 41616, 1413721, 48024900, 1631432881, 55420693056, 1882672131025, 63955431761796
무한한 수의 제곱 수, 삼각형 수 및 제곱 삼각 숫자가 있습니다.
입력 (매개 변수 또는 stdin) 숫자가 주어진 프로그램 또는 명명 된 함수를 작성하고 n
, n
제곱 삼각형 숫자를 계산 하고 출력 / 반환합니다. 여기서 n은 0이 아닌 양의 숫자입니다. (n = 1 인 경우 0을 반환)
프로그램 / 함수가 유효한 제출이 되려면 적어도 2 ^ 31-1보다 작은 모든 정사각형 삼각형 숫자를 반환 할 수 있어야합니다.
보너스
2 ^ 63-1 미만의 모든 정사각형 삼각형 숫자를 출력 할 수있는 -4 바이트
이론적으로 모든 크기의 정사각형 삼각형 수를 출력 할 수있는 -4 바이트
비 다항식 시간이 걸리는 솔루션에 +8 바이트 페널티.
보너스 스택.
이것은 코드 골프 챌린지이므로 가장 적은 바이트를 가진 답이 이깁니다.
n
단계 가 있기 때문에 2 차 시간 이며 각 단계에서 숫자의 수가 선형으로 증가하기 때문에 산술에 선형 시간이 걸립니다 n
. 나는 선형 시간이 가능하다고 생각하지 않습니다. 산술 연산이 일정한 시간을 말하는 것이 아니라면?