Monday Mini-Golf : 매주 월요일에 게시 되는 일련의 짧은 코드 골프 질문입니다.
(죄송합니다. 다시 늦었습니다. 기본적으로 어제와 오늘 모두 컴퓨터에서 멀었습니다.)
우리 프로그래머 (특히 코드 골퍼)는 임의의 정수 시퀀스를 좋아합니다. 우리는 심지어이 이 시퀀스에 전념 전체 사이트 현재 약 20 만 항목이 있습니다. 이 과제에서 우리는 이러한 시퀀스의 또 다른 세트를 구현할 것입니다.
도전
당신의 도전은 정수 N 을 취하고 기본 10 정수 시퀀스를 출력 하는 프로그램이나 함수를 작성하는 것입니다.
- 1에서 시작하십시오.
이전 정수의 기본 10 표현에서 각 숫자 D 에 대해 :
- 경우 D가 0이고, 현재의 정수에 1을 추가합니다.
- 그렇지 않으면 현재 정수에 D를 곱하십시오 .
세부
- 0 < N <2 31 이라고 가정 할 수 있습니다 .
- 10보다 작은 수에 도달 할 때까지 입력 숫자부터 시작하여 순서대로 각 정수를 출력해야합니다.
- 출력은 배열이거나 공백, 쉼표, 개행 또는 이들의 조합으로 구분 된 문자열 일 수 있습니다.
- 후행 공백 및 / 또는 줄 바꾸기는 허용되지만 후행 쉼표 는 사용할 수 없습니다 .
- 선행 0이 없어야합니다.
예
예 1 : 77
이 예제는 매우 간단합니다.
77 = 1*7*7 = 49
49 = 1*4*9 = 36
36 = 1*3*6 = 18
18 = 1*1*8 = 8
따라서 올바른 출력은 77 49 36 18 8
입니다.
예 2 : 90
여기에 우리가 있습니다 :
90 = 1*9+1 = 10
10 = 1*1+1 = 2
따라서 출력은입니다 90 10 2
.
예 3 : 806
왼쪽에서 오른쪽으로 방정식을 읽으십시오.
806 = 1*8+1*6 = 54 (((1*8)+1)*6)
54 = 1*5*4 = 20
20 = 1*2+1 = 3
출력은이어야합니다 806 54 20 3
.
테스트 사례
각 줄의 첫 번째 숫자는 입력이고 전체 줄은 예상 출력입니다.
77 49 36 18 8
90 10 2
249 72 14 4
806 54 20 3
1337 63 18 8
9999 6561 180 9
10000 5
8675309 45369 3240 25 10 2
9999999 4782969 217728 1568 240 9
1234567890 362881 2304 28 16 6
참고로 다음은 10에서 100 사이의 올바른 다음 정수입니다.
Current | Next
--------+-----
10 | 2
11 | 1
12 | 2
13 | 3
14 | 4
15 | 5
16 | 6
17 | 7
18 | 8
19 | 9
20 | 3
21 | 2
22 | 4
23 | 6
24 | 8
25 | 10
26 | 12
27 | 14
28 | 16
29 | 18
30 | 4
31 | 3
32 | 6
33 | 9
34 | 12
35 | 15
36 | 18
37 | 21
38 | 24
39 | 27
40 | 5
41 | 4
42 | 8
43 | 12
44 | 16
45 | 20
46 | 24
47 | 28
48 | 32
49 | 36
50 | 6
51 | 5
52 | 10
53 | 15
54 | 20
55 | 25
56 | 30
57 | 35
58 | 40
59 | 45
60 | 7
61 | 6
62 | 12
63 | 18
64 | 24
65 | 30
66 | 36
67 | 42
68 | 48
69 | 54
70 | 8
71 | 7
72 | 14
73 | 21
74 | 28
75 | 35
76 | 42
77 | 49
78 | 56
79 | 63
80 | 9
81 | 8
82 | 16
83 | 24
84 | 32
85 | 40
86 | 48
87 | 56
88 | 64
89 | 72
90 | 10
91 | 9
92 | 18
93 | 27
94 | 36
95 | 45
96 | 54
97 | 63
98 | 72
99 | 81
100 | 3
이 목록은 여기 에서 10000으로 확장되었습니다 .
채점
이것은 code-golf 이므로 바이트 단위의 가장 짧은 유효한 코드가 이깁니다. Tiebreaker는 최종 바이트 수에 먼저 도달 한 제출에갑니다. 우승자는 다음주 10 월 19 일 월요일에 선발됩니다. 행운을 빌어 요!
편집 : 14 바이트 동안 Pyth를 다시 사용하여 우승자 @isaacg 에게 축하드립니다 !
|*GHhG
바이트를 저장합니다?H*GHhG
.