분명히 그렇습니다! 세 단계 만 거치면됩니다.
1 단계
하자 F ( n은 (이하의 소수 또는 수와 동일)에 소수 계량 함수를 나타내는 N ).
정수 시퀀스 s ( n )을 다음과 같이 정의하십시오 . 각 양의 정수 n 에 대해
- Initiallize t를 에 N .
- 만큼 t는 도 1도 소수 대체 t를 하여 F ( t ) 및 반복 처리.
- 반복 횟수는 s ( n )입니다.
반복 프로세스는 모든 n에 대해 f ( n ) < n 이므로 종료 됩니다.
예를 들어 n = 25를 고려하십시오 . 우리는 t = 25를 초기화합니다 . 이것은 소수 나 1이 아니기 때문에 f (25), 즉 9를 계산합니다. 이것이 t 의 새로운 값이됩니다 . 이것은 소수도 아니고 1이므로 계속 진행합니다. f (9)는 4입니다. 우리는 다시 계속합니다 : f (4)는 2입니다. 이것이 소수이므로 여기에서 멈 춥니 다. 우리는 3 번의 반복을 수행했습니다 (25 ~ 9, 4 ~ 2, 2). 따라서 s (25)는 3입니다.
순서의 처음 40 개 항은 다음과 같습니다. 시퀀스가 OEIS에 없습니다.
0 0 0 1 0 1 0 2 2 2 0 1 0 2 2 2 0 1 0 3 3 3 0 3 3 3 3 3 0 3 0 1 1 1 1 1 0 2 2 2
2 단계
홀수 양의 정수 N이 주어지면 유한 시퀀스 s (1), s (2), ..., s ( N 2 )를 감아 NxN 배열 (행렬)을 만들어 사각형 바깥 쪽 나선을 만듭니다. 예를 들어, N = 5이면 나선은
s(21) s(22) s(23) s(24) s(25)
s(20) s(7) s(8) s(9) s(10)
s(19) s(6) s(1) s(2) s(11)
s(18) s(5) s(4) s(3) s(12)
s(17) s(16) s(15) s(14) s(13)
또는 값을 대체하여
3 3 0 3 3
3 0 2 2 2
0 1 0 0 0
1 0 1 0 1
0 2 2 2 0
3 단계
NxN 배열을 회색 맵 또는 취향에 맞는 다른 컬러 맵이 있는 이미지 로 나타냅니다. 숫자의 순서는 시각적으로 명백한 색상 순서와 일치하도록 맵은 점진적이어야합니다. 아래의 테스트 사례는 일부 색상 맵을 보여줍니다.
도전
홀수 양의 정수 N이 주어지면 위에서 설명한 이미지를 생성하십시오.
규칙
나선은 바깥 쪽이어야하지만 시계 방향 또는 시계 반대 방향 일 수 있으며 오른쪽 (위의 예에서와 같이), 왼쪽, 아래쪽 또는 위쪽으로 움직일 수 있습니다.
가로 축과 세로 축의 축척이 같을 필요는 없습니다. 또한 축 레이블, 색상 막대 및 유사한 요소는 선택 사항입니다. 나선이 선명하게 보이는 한 이미지가 유효합니다.
표준 수단으로 이미지를 출력 할 수 있습니다 . 특히, 이미지가 화면에 표시되거나 그래픽 파일이 생성되거나 RGB 값의 배열이 출력 될 수 있습니다. 파일이나 배열을 출력하는 경우, 표시 될 때의 모습에 대한 예를 게시하십시오.
입력 수단과 형식은 평소처럼 유연합니다 . 프로그램 또는 기능을 제공 할 수있다 . 표준 허점은 금지되어 있습니다.
바이트 단위의 최단 코드가 이깁니다.
테스트 사례
다음 이미지 (전체 해상도를 보려면 클릭)는 N의 여러 값에 해당합니다 . 위의 예와 같이 시계 방향의 오른쪽 우선 나선형이 사용됩니다. 이미지는 또한 여러 유효한 색상 맵을 보여줍니다.
imshow
되지 않습니다.
imshow
하지 않습니다.
s(n)
수정하지 않고 일부 플로팅 함수 / 패키지에 공급할 수 있다면 (imshow
예를 들어 matplotlib에서 이것을 처리 할 수 있다고 생각합니다 ) 이것이 허용 가능한 출력 형식입니까?