Bu FiveThirtyEight bilmecesinden uyarlandı .
Arka fon
Aşağıdaki sonsuz diziyi inceleyin:
3 3 3 2 3 3 3 2 3 3 3 2 3 3 2 3 3 3 2 ...
Diyelim ki dizi 1 dizinli. iSırayla inci sayısı ne kadar belirler 3önce vardır s ith 2ve önceki aşağıdaki 2s. Bu nedenle, sekans bir ile başladığından 3, sekans başlamalı 3 3 3 2ve 3sekansın başında üç s olduğu için, sekansın 3 3 3 2kendini üç kez tekrarlaması gerekir. Bundan sonra 3 3 2, dizideki dördüncü sayı olduğu için ulaşırsınız 2.
FiveThirtyEight bilmecesi üçlülerin ikiye oranını (burada şımartmayacağım) sınırlandırmasını ister, ancak indeks sonrasında kümülatif oranın ne olduğunu da sorabilirsiniz i. Örneğin en oranı i=4IS 3/1 = 3ve en i=15öyle 11/4 = 2.75.
Genel olalım
Sayılar dikkate alındığında nve kbiz ile başlayan benzer bir diziyi yapabilirsiniz norijinal dizi endeksinde numarası açıklanan ve tıpkı ibirçok şeklini belirler nler önce buraya geldik ith kve önceki tüm aşağıdaki ks.
Örnekler:
n=2, k=5 diziyi verir 2 2 5 2 2 5 2 2 2 2 2 5 2 2 5 ...
n=3, k=0 verir 3 3 3 0 3 3 3 0 3 3 3 0 0 3 3 3 0 ...
n=1, k=3 verir 1 3 1 1 1 3 1 3 1 3 1 3 1 1 1 3 1 ...
Meydan okuma
Bir işlev / program yazın ve onunla aşağıdakileri yapın. Girdi olarak al:
- pozitif bir tam sayı
n - negatif olmayan bir tam sayı
k ≠ n - pozitif bir tam sayı
i > n
İlk iki giriş nve kyukarıda tarif edildiği gibi bir dizi tespit ieden bir indekstir. Örneklerde 1-indeksleme kullanıyorum ancak 0- veya 1-indeksleme kullanma özgürlüğüne sahipsiniz. 0 dizinli ise, kısıtlama iaçıktır i ≥ n.
Üç sayı çıktısıyla , dizindeki sayıya kadar ve bu sayı da dahil olmak üzere dizideki s / ns oranı . Çıkış biçimi ya da en azından 5 hassas basamağı ya da bu gibi bir oran olarak kesin bir değere sahip bir ondalık değer olabilir veya .ki3524/8373524:837
Ondalık biçimde son rakam istediğiniz gibi yuvarlanabilir. Sondaki sıfırlara ve boşluklara izin verilir.
Dize biçimlerinden herhangi birinde, iki sayının eşleşmesi için normalleştirilmesi gerekir. Örneğin, oran 22/4 ise 11/2ve 11:2kabul edilebilir ancak kabul edilemez 22/4ise.
Örnekler
n k i output
2 4 15 2.75 or 11/4
6 0 666 5.1101 or 557:109
50 89 64 63 or 63:1
3 2 1000 2.7453 or 733/267
9 12 345 9.4545 or 104/11
Bu, dil başına kod golfüdür, bu nedenle her dilde en kısa kod kazanır.
/ya da :sadece zorluğa gereksiz bir komplikasyon eklerim.