6までの自然なシーケンスを考慮します(1を無視)。
2,3,4,5,6
左からスキャンを開始し(この場合は2から)、2で割り切れる数値(ここでは4)を検索し、リストから次のように両方の数値を削除します(ここでは2と4)。
3,5,6
同じプロセスを続けます。ここでは左端が3なので、3で割り切れる数を検索します。6は確実にその数なので、3と6は削除されます。
5
現在、このような検索はこれ以上できません。したがって、これはn = 6のALONED番号のリストになります。
目的
- nが1より大きい場合、対応するすべての番号を出力します。
入力
2
6
15
20
22
出力
2
5
8,9,11,12,13,15
11,12,13,15,17,19,20
12,13,15,17,19,20,21
まだ別の例
n = 22の場合
=>2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
=>3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 (remove 2 & 4)
=>5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 (remove 3 & 6)
=>7,8,9,11,12,13,14,15,16,17,18,19,20,21,22 (remove 5 & 10)
=>8,9,11,12,13,15,16,17,18,19,20,21,22 (remove 7 & 14)
=>9,11,12,13,15,17,18,19,20,21,22 (remove 8 & 16)
=>11,12,13,15,17,19,20,21,22 (remove 9 & 18)
=>12,13,15,17,19,20,21 (remove 11 & 22) (OUTPUT)
これはcode-golfであるため、バイト単位の最短コードが優先されます。