>백엔드 개발 >C++ >중앙 십이각형 수

중앙 십이각형 수

WBOY
WBOY앞으로
2023-09-07 12:09:021138검색

십이각형을 묘사하는 그래픽 숫자를 십이각형 숫자라고 합니다. 중앙 12각형 숫자는 연속 12각형(즉, 12면 다각형)의 레이어에서 중심에 있는 점과 해당 점을 둘러싸는 다른 점으로 표시됩니다.

중앙의 십이각형 숫자는 아래 이미지로 더 잘 설명될 수 있습니다.

중앙 십이각형 수

n=1인 경우 중앙에는 점이 하나만 있습니다. 따라서 출력은 1입니다.

중앙 십이각형 수

n=2의 경우 중앙에 십이각형으로 둘러싸인 점이 있습니다. 따라서 총 포인트 수는 13이 됩니다. 따라서 다음 중앙 12각형 숫자는 13이 됩니다.

중앙 십이각형 수

n=3의 경우 중앙에 단일 점이 있고 그 주위에 12각형이 있고 24개의 점이 포함된 다음 연속 12각형 레이어가 있습니다. 따라서 총 점 수는 37이 되며, 이는 다음 중앙 12각형 숫자가 됩니다.

마찬가지로 모든 양수 n에 대해서도 마찬가지입니다. 이를 참고하면 처음 몇 십이각형 숫자는 1, 13, 37, 73, 121, 181…..

이 됩니다.

이 문제에서는 임의의 양수 n이 주어지며 중앙의 n번째 십이각형 숫자를 출력해야 합니다.

예를 들어

들어가세요 - 2

출력 - 13

들어가세요 - 5

출력 - 121

이 문제를 해결하기 위한 알고리즘은 다음과 같습니다.

알고리즘

n번째 중심 십이각형 수를 계산하려면 문제에서 따르는 패턴을 파악해야 합니다.

중앙 십이각형 수의 개념에 따라 중앙에 점이 있고 이어 십이각형이 연속적으로 겹겹이 쌓여 표현됩니다. 연속적인 12각형 층은 12, 24, 36, 48... 패턴을 자세히 보면 허용오차가 12인 산술수열을 형성합니다.

중앙 십이각형 숫자의 처음 몇 수열은 1, 13, 37, 73… 그것은 12각형 층과 중앙의 점을 합한 것에 지나지 않습니다.

0부터 시작하는 연속적인 12각형 레이어를 고려하면 더 잘 이해할 수 있습니다.

으아악

여기서 n번째 중앙 십이각형 수는 공차가 12와 1인 0부터 시작하는 n 항의 A.P.의 합일 뿐이라고 생각할 수 있습니다.

그래서 n번째 중앙 십이각형 수의 공식은 다음과 같이 표현될 수 있습니다.

$$mathrm{CDn=산술 수열(a=0: 합: d=12): of: 처음 n 항의 합: +1}$$

$$mathrm{CD_n:=:frac{n}{2}(2a:+:(n-1)d):+1}$$

여기서 $mathrm{CD_n}$은 n번째 중앙 십이각형 숫자입니다

a는 등차수열의 첫 번째 항인 0

입니다.

d는 등차수열의 허용오차로, 12

입니다.

또한 공식은 다음과 같이 작성할 수 있습니다.

$$mathrm{CD_n:=:frac{12n}{2}(n-1):+:1}$$

$$mathrm{CD_n:=:6n(n-1):+:1}$$

번역 없이 원본 텍스트 유지

우리는 위 공식을 사용하여 n번째 중앙 십이각형 수를 계산할 것입니다.

방법

  • 이 문제를 해결하기 위해 n번째 중앙 십이각형 수를 계산하는 함수를 만듭니다.

  • 위에서 파생된 공식을 사용하여 n개의 양수에 대한 n번째 중앙 십이각형 수를 계산합니다.

  • 우리가 원하는 출력이 될 계산된 값을 반환합니다.

Example

의 중국어 번역은

Example

입니다.

다음은 위 메서드를 C++로 구현한 것입니다.

으아악

출력

으아악

시간 복잡도: O(1), 일정한 시간이 필요하기 때문입니다.

공간 복잡성: 추가 공간을 차지하지 않으므로 O(1)입니다.

결론

이 글에서는 n번째 중심 십이각형 숫자를 인쇄하는 문제를 해결했습니다. 우리는 중심 십이각형 수의 개념을 배웠고 n번째 수의 ​​공식을 도출했습니다

이 기사가 이 문제와 관련된 모든 개념을 이해하고 명확히 하는 데 도움이 되기를 바랍니다.

위 내용은 중앙 십이각형 수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제