Tulis sebuah program untuk menentukan apakah urutan periodik bilangan bulat positif memiliki properti yang, untuk setiap bilangan bulat yang n
terjadi dalam urutan, tidak pernah ada lebih dari n
bilangan bulat lainnya antara dua kejadian berturut-turut n
.
Misalnya, 2, 3, 5, 2, 3, 6, 2, 3, 5, 2, 3, 6, ...
memang memiliki properti ini: setiap pasangan kejadian berurutan 2
memiliki paling banyak dua bilangan bulat di antara mereka (seperti 2, 3, 5, 2
dan 2, 3, 6, 2
; setiap pasangan kejadian berurutan 3
memiliki paling banyak tiga bilangan bulat di antara mereka, dan sama untuk 5
dan 6
.
Namun, 2, 3, 5, 2, 3, 4, 2, 3, 5, 2, 3, 4, ...
tidak memiliki properti ini: dua kejadian berturut-turut 4
, yaitu 4, 2, 3, 5, 2, 3, 4
, memiliki lebih dari empat bilangan bulat di antara mereka.
Input : representasi wajar dari urutan periodik bilangan bulat positif. Misalnya, daftar hingga seperti {2, 3, 5, 2, 3, 6}
dapat mewakili urutan tak terbatas pertama di 2, 3, 5, 2, 3, 6, 2, 3, 5, 2, 3, 6, ...
atas. (Dalam hal ini, masalahnya bisa dinyatakan untuk daftar terbatas yang membungkus bukan untuk daftar periodik tak terbatas.)
Output : nilai kebenaran / kepalsuan.
Contoh kebenaran:
{1}
{8, 9}
{2, 3, 4}
{5, 5, 3, 3, 6}
{2, 3, 5, 2, 3, 6}
{6, 7, 3, 5, 3, 7}
{9, 4, 6, 7, 4, 5}
{1, 1, 1, 1, 1, 100, 1}
{1, 9, 1, 8, 1, 7, 1, 11}
Contoh-contoh palsu:
{1, 2, 3}
{2, 3, 9, 5}
{3, 5, 4, 4, 6}
{2, 3, 5, 2, 3, 4}
{3, 5, 7, 5, 9, 3, 7}
{5, 6, 7, 8, 9, 10, 11}
{1, 9, 1, 8, 1, 6, 1, 11}
Ini codegolf , jadi kode terpendek menang. Jawaban dalam semua bahasa dianjurkan.