Esinlenen bu Math.SE soruya .
Arka fon
Fibonacci Dizisi (denilen F
) başlayarak dizisidir 0, 1
her sayı (öyle ki F(n)
(ilk iki sonra)) daha önce ikisinin toplamı (olduğunu F(n) = F(n-1) + F(n-2)
).
Bir Fibonacci Dizisi mod K (denir M
), Fibonacci dizisi mod K ( ) dizisidir M(n) = F(n) % K
.
Her bir değer, önceki çifti tarafından belirlenir olarak Fibonacci Dizisi mod K, bütün K siklik olduğu gösterilebilir ve yalnızca K bulunmaktadır 2 negatif olmayan tam olası çiftleri K. daha kısa bir sürede Fibonacci dizisi mod K için ilk tekrarlanan terimler çiftinden sonra döngüseldir, ilk tekrarlanan terimler çiftinden önce Fibonacci Sekansı mod K'da görünmeyen bir sayı asla görünmez.
K = 4 için
0 1 1 2 3 1 0 1 ...
K = 8 için
0 1 1 2 3 5 0 5 5 2 7 1 0 1 ...
K = 8, 4 ve 6 için tekrarlanandan önce görünmediğine dikkat edin 0 1
, bu nedenle 4 ve 6 asla Fibonacci Sekansı mod 8'de görünmeyecektir.
Meydan okuma
Bir tamsayı K 0'dan kesinlikle büyük göz önüne alındığında, tüm az K daha negatif olmayan tamsayılar çıkış yok Fibonacci Dizisi mod K. görünür
kurallar
K'nin yerel tamsayı türünüze ( akıl dahilinde ) uyacağını varsayabilirsiniz .
Fibonacci Sekansı mod K'de görünmeyen K'den küçük negatif olmayan sayılar varsa, programınız / fonksiyonunuz tüm bu sayıları makul bir şekilde vermelidir.
Fibonacci Sekansı mod K'de görünmeyen K'den küçük negatif olmayan tamsayılar yoksa, programınız / fonksiyonunuz boş bir liste döndürerek, hiçbir şey basmadan, hata üreterek vb.
Düzen önemli değil.
Bu kod golf , her dilde en kısa cevap kazanır.
Test Durumları
Çevrimiçi test senaryoları oluşturun!
Boş Olmayan Test Kutuları
8 [4, 6]
11 [4, 6, 7, 9]
12 [6]
13 [4, 6, 7, 9]
16 [4, 6, 10, 12, 14]
17 [6, 7, 10, 11]
18 [4, 6, 7, 9, 11, 12, 14]
19 [4, 6, 7, 9, 10, 12, 14]
21 [4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 19]
22 [4, 6, 7, 9, 15, 17, 18, 20]
23 [4, 7, 16, 19]
24 [4, 6, 9, 11, 12, 14, 15, 18, 19, 20, 22]
26 [4, 6, 7, 9, 17, 19, 20, 22]
28 [10, 12, 14, 16, 18, 19, 23]
29 [4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 27]
31 [4, 6, 9, 12, 14, 15, 17, 18, 19, 22, 25, 29]
32 [4, 6, 10, 12, 14, 18, 20, 22, 26, 28, 30]
33 [4, 6, 7, 9, 15, 17, 18, 20, 24, 26, 27, 28, 29, 31]
34 [4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 27, 28, 30]
36 [4, 6, 7, 9, 10, 11, 12, 14, 16, 18, 20, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32]
37 [9, 10, 14, 17, 20, 23, 27, 28]
38 [4, 6, 7, 9, 10, 11, 12, 14, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 36]
39 [4, 6, 7, 9, 15, 17, 19, 20, 22, 24, 30, 32, 33, 35]
...
200 [4, 6, 12, 14, 20, 22, 28, 30, 36, 38, 44, 46, 52, 54, 60, 62, 68, 70, 76, 78, 84, 86, 92, 94, 100, 102, 108, 110, 116, 118, 124, 126, 132, 134, 140, 142, 148, 150, 156, 158, 164, 166, 172, 174, 180, 182, 188, 190, 196, 198]
...
300 [6, 18, 30, 42, 54, 66, 78, 90, 102, 114, 126, 138, 150, 162, 174, 186, 198, 210, 222, 234, 246, 258, 270, 282, 294]
...
400 [4, 6, 10, 12, 14, 20, 22, 26, 28, 30, 36, 38, 42, 44, 46, 52, 54, 58, 60, 62, 68, 70, 74, 76, 78, 84, 86, 90, 92, 94, 100, 102, 106, 108, 110, 116, 118, 122, 124, 126, 132, 134, 138, 140, 142, 148, 150, 154, 156, 158, 164, 166, 170, 172, 174, 180, 182, 186, 188, 190, 196, 198, 202, 204, 206, 212, 214, 218, 220, 222, 228, 230, 234, 236, 238, 244, 246, 250, 252, 254, 260, 262, 266, 268, 270, 276, 278, 282, 284, 286, 292, 294, 298, 300, 302, 308, 310, 314, 316, 318, 324, 326, 330, 332, 334, 340, 342, 346, 348, 350, 356, 358, 362, 364, 366, 372, 374, 378, 380, 382, 388, 390, 394, 396, 398]
...
Boş Test Durumları (çıktı, hata, boş liste vb. Kabul edilebilir çıktı yok)
1, 2, 3, 4, 5, 6, 7, 9, 10, 14, 15, 20, 25, 27, 30, 35 ... 100 ...