Terinspirasi oleh pertanyaan Math.SE ini .
Latar Belakang
The Fibonacci urutan (disebut F
) adalah urutan, mulai 0, 1
sehingga setiap nomor ( F(n)
) (setelah dua yang pertama) adalah jumlah dari dua sebelum ( F(n) = F(n-1) + F(n-2)
).
Fibonacci Sequence mod K (disebut M
) adalah urutan angka Fibonacci mod K ( M(n) = F(n) % K
).
Dapat ditunjukkan bahwa Fibonacci Sequence mod K adalah cyclic untuk semua K, karena setiap nilai ditentukan oleh pasangan sebelumnya, dan hanya ada K 2 kemungkinan pasangan bilangan bulat non-negatif, keduanya kurang dari K. Karena Fibonacci sequence mod K adalah siklik setelah pasangan istilah berulang yang pertama, angka yang tidak muncul dalam Fibonacci Sequence mod K sebelum pasangan istilah berulang yang pertama tidak akan pernah muncul.
Untuk K = 4
0 1 1 2 3 1 0 1 ...
Untuk K = 8
0 1 1 2 3 5 0 5 5 2 7 1 0 1 ...
Perhatikan bahwa untuk K = 8, 4 dan 6 tidak muncul sebelum diulang 0 1
, jadi 4 dan 6 tidak akan pernah muncul dalam Fibonacci Sequence mod 8.
Tantangan
Mengingat bilangan bulat K benar-benar lebih besar dari 0, output semua bilangan bulat non-negatif kurang dari K yang tidak muncul dalam Fibonacci Sequence mod K.
Aturan
Anda dapat berasumsi bahwa K akan cocok dengan tipe integer asli Anda ( sesuai alasan ).
Jika ada angka non-negatif kurang dari K yang tidak muncul dalam Fibonacci Sequence mod K, program / fungsi Anda harus menampilkan semua angka tersebut dengan cara yang masuk akal.
Jika tidak ada bilangan bulat non-negatif kurang dari K yang tidak muncul dalam Fibonacci Sequence mod K, program / fungsi Anda dapat menunjukkan ini dengan mengembalikan daftar kosong, tidak mencetak apa-apa, menghasilkan kesalahan, dll.
Urutan tidak masalah.
Ini kode-golf , jadi jawaban tersingkat di setiap bahasa menang.
Uji Kasus
Kasus Uji Tidak Kosong
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]
...
Kasus Uji Kosong (tidak ada output, kesalahan, daftar kosong, dll. Adalah output yang dapat diterima)
1, 2, 3, 4, 5, 6, 7, 9, 10, 14, 15, 20, 25, 27, 30, 35 ... 100 ...