Her sayı sonsuz uzun bir kalan sekans kullanılarak gösterilebilir. Örneğin, 7 sayısını alırsak ve uygularsak 7mod2
, o zaman 7mod3
, o zaman 7mod4
, vb. Alırız 1,1,3,2,1,0,7,7,7,7,....
.
Bununla birlikte, onu tüm düşük sayılardan ayırmak için hala mümkün olan en kısa kalan geri kalanlar grubuna ihtiyacımız var . Yine 7'yi kullanmak [1,1,3]
, en kısa sonuçtur, çünkü önceki başlıkların tümü ile başlamaz [1,1,3]
:
0: 0,0,0,0...
1: 1,1,1,1...
2: 0,2,2,2...
3: 1,0,3,3...
4: 0,1,0,4...
5: 1,2,1,0...
6: 0,0,2,1...
Not [1,1]
gelmez aynı zamanda Ancak 1. temsil etmek için kullanılabilir, çünkü çalışmak yapmanız gerekir çıktı, 7 temsil etmek [1]
1'lik bir girişi olan.
Giriş çıkış
Girişiniz negatif olmayan bir tamsayıdır. Yukarıda tanımlandığı gibi asgari uzunluktaki bir dizi sıranın bir dizisini veya listesini çıkarmalısınız.
Test durumları:
0: 0
1: 1
2: 0,2
3: 1,0
4: 0,1
5: 1,2
6: 0,0,2
7: 1,1,3
8: 0,2,0
9: 1,0,1
10: 0,1,2
11: 1,2,3
12: 0,0,0,2
30: 0,0,2,0
42: 0,0,2,2
59: 1,2,3,4
60: 0,0,0,0,0,4
257: 1,2,1,2,5,5
566: 0,2,2,1,2,6,6
1000: 0,1,0,0,4,6,0,1
9998: 0,2,2,3,2,2,6,8,8,10
9999: 1,0,3,4,3,3,7,0,9,0
İşte ilk 10.000 dizileri size (satır numaraları 1 ile kapalıdır) ilgilenen durumda.
Bu bir kod golf , bu yüzden en sevdiğiniz dilde olabildiğince kısa yapın. Hızlı olan herhangi bir cevap için sahte bonus puan!