すべての正の整数を小さい順に並べた列がある。
この数列に対して「3の倍数番目を撤去」「平方数の次の値を撤去」などの操作を繰り返す。
出来上がった数列の最初の10件を出力せよ。
入力は、下表の記号をならべたものである。
| 記号 | 意味 |
|---|---|
| 2〜9 | 2〜9 の倍数番目を撤去(先頭が1番目であることに注意) |
| S | 平方数の次を撤去 |
| s | 平方数の直前を撤去 |
| C | 立方数の直後を撤去 |
| c | 立方数の直前を撤去 |
| h | 先頭の100件を撤去 |
具体的には
ss6cc24S
こんな感じ。この入力を受けての処理は
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
|
↓
s
|
1,2,4,5,6,7,9,10,11,12,13,14,16,17,18,19,20,21,22,23
|
↓
s
|
1,4,5,6,9,10,11,12,13,16,17,18,19,20,21,22,25,26,27
|
↓
6
|
1,4,5,6,9,11,12,13,16,17,19,20,21,22,25,27,28,29,30
|
↓
c
|
1,4,5,6,9,11,12,13,16,17,19,20,21,22,27,28,29,30,31
|
↓
c
|
1,4,5,6,9,11,12,13,16,17,19,20,21,27,28,29,30,31,33
|
↓
2
|
1,5,9,12,16,19,21,28,30,33,37,39,42,44,49,51,53,56,58
|
↓
4
|
1,5,9,16,19,21,30,33,37,42,44,49,53,56,58,67,70,72,77
|
↓
S
|
1,9,21,30,33,37,42,44,49,56,58,67,70,72,77,81,89,91
|
こうなる。
「平方数の直後を撤去」についてちょっと説明しておく。
上記の例の最後の処理で「
1,5,9,16,19,21,30,33,37,42,...
」から「平方数の直後を撤去」している。
元の数列に含まれる平方数は「
1,9,16,49,81,...
」。
撤去するべき値は平方数の次なので、
元の数列で
1
の次ににある
5
、
9
の次ににある
16
、
16
の次ににある
19
、
などになる。
立方数の直前なども同様。
出来上がった数列の先頭10件をコンマ区切りで出力する。
数列の要素は、10進数で。
つまり、
ss6cc24S
という入力に対しては、上にある表のとおりに処理が進む。最初の10件を出力すればよいので
1,9,21,30,33,37,42,44,49,56
を出力すればよい。
s, S, c, C
は、数列の値、それ以外は数列の順序を見ている。
| # | 入力 | 期待 |
|---|---|---|
| 0 |
ss6cc24S
|
1,9,21,30,33,37,42,44,49,56
|
| 1 |
h
|
101,102,103,104,105,106,107,108,109,110
|
| 2 |
hh
|
201,202,203,204,205,206,207,208,209,210
|
| 3 |
hhh
|
301,302,303,304,305,306,307,308,309,310
|
| 4 |
2
|
1,3,5,7,9,11,13,15,17,19
|
| 5 |
22
|
1,5,9,13,17,21,25,29,33,37
|
| 6 |
222
|
1,9,17,25,33,41,49,57,65,73
|
| 7 |
3
|
1,2,4,5,7,8,10,11,13,14
|
| 8 |
33
|
1,2,5,7,10,11,14,16,19,20
|
| 9 |
333
|
1,2,7,10,14,16,20,23,28,29
|
| 10 |
s
|
1,2,4,5,6,7,9,10,11,12
|
| 11 |
ss
|
1,4,5,6,9,10,11,12,13,16
|
| 12 |
sss
|
4,5,9,10,11,12,16,17,18,19
|
| 13 |
S
|
1,3,4,6,7,8,9,11,12,13
|
| 14 |
SS
|
1,4,7,8,9,12,13,14,15,16
|
| 15 |
SSS
|
1,8,9,13,14,15,16,20,21,22
|
| 16 |
c
|
1,2,3,4,5,6,8,9,10,11
|
| 17 |
cc
|
1,2,3,4,5,8,9,10,11,12
|
| 18 |
ccc
|
1,2,3,4,8,9,10,11,12,13
|
| 19 |
C
|
1,3,4,5,6,7,8,10,11,12
|
| 20 |
CC
|
1,4,5,6,7,8,11,12,13,14
|
| 21 |
CCC
|
1,5,6,7,8,12,13,14,15,16
|
| 22 |
23
|
1,3,7,9,13,15,19,21,25,27
|
| 23 |
32
|
1,4,7,10,13,16,19,22,25,28
|
| 24 |
2h
|
201,203,205,207,209,211,213,215,217,219
|
| 25 |
h2
|
101,103,105,107,109,111,113,115,117,119
|
| 26 |
sC
|
1,4,5,6,7,9,10,11,12,13
|
| 27 |
Cs
|
1,4,5,6,7,8,10,11,12,13
|
| 28 |
s468
|
1,2,4,6,7,11,12,16,17,20
|
| 29 |
S468
|
1,3,4,7,8,12,13,16,18,21
|
| 30 |
cc579
|
1,2,3,4,8,9,11,13,15,16
|
| 31 |
CC579
|
1,4,5,6,8,11,13,15,17,18
|
| 32 |
85
|
1,2,3,4,6,7,9,10,12,13
|
| 33 |
sh
|
110,111,112,113,114,115,116,117,118,119
|
| 34 |
94h
|
150,151,154,155,156,158,159,160,163,164
|
| 35 |
h9c8
|
101,102,103,104,105,106,107,110,111,112
|
| 36 |
Cc3s
|
1,3,5,6,10,11,13,16,17,19
|
| 37 |
cs4h6
|
149,150,152,153,154,157,158,160,161,162
|
| 38 |
84523c
|
1,3,11,15,23,26,34,38,46,49
|
| 39 |
54C78hS
|
228,231,232,233,236,241,242,243,246,247
|
| 40 |
65h7ccs
|
151,152,153,154,157,158,160,163,164,165
|
| 41 |
c95hSc2C
|
145,147,151,153,156,159,162,164,168,171
|
| 42 |
c5h3Ss794
|
130,131,133,137,138,142,148,150,152,157
|
| 43 |
7ShscC846
|
129,130,131,134,135,139,141,142,146,148
|
| 44 |
cshSCCS7ch
|
253,254,256,259,260,261,263,264,265,266
|
| 45 |
hhC7849Ss6C
|
201,202,203,205,206,211,212,216,220,225
|
| 46 |
hhsc3C987Ccs
|
201,202,204,205,207,208,214,217,218,220
|
| 47 |
SC7S8hc59ss2
|
162,169,174,178,182,185,188,194,199,203
|
| 48 |
s7S6c35C9CShc
|
367,371,377,379,380,385,387,388,392,395
|
| 49 |
4scC3hh982Cc5s
|
422,426,430,434,447,451,459,463,471,479
|
| 50 |
23h465Ssc9CchC
|
1027,1033,1045,1047,1057,1069,1071,1075,1081,1093
|