( Helka'nın sohbetteki "satranç" ve "Fibonacci" etiketlerini rastgele eşleştirmemdeki tepkisinden esinlenerek )
Fibonacci
Fibonacci sayıları her sayı birlikte iki önceki numaraları eklenerek oluşan matematik daha iyi bilinen dizilerin biri. Aşağıda sıfır endeksli dizinin bir tanımı bulunmaktadır:
f(0) = 0
f(1) = 1
f(n) = f(n-1) + f(n-2)
Bu sekansla sonuçlanır 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
( OEIS bağlantısı ). Bu meydan okumada, yalnızca kesinlikle pozitif değerlere (yani 1, 1, 2, 3, ...
) odaklanacağız ve sıfır endeksleme veya tek endeksleme seçebilirsiniz, ancak lütfen gönderiminizde hangisini belirttiğinizi belirtin.
Fibonacci sayıları, f(n)
boyut olarak birbirini takip eden kareler kullanarak ve kenarlarını birbirine hizalayarak düzlemin döşenmesi için kullanılabilir . Döşeme, geçerli kareden "sağ-yukarı-sol-aşağı" desenine kareler yerleştirerek saat yönünün tersine yapılır. f(8)=21
Başlangıç kare mavi renkle vurgulanmış olarak bu kısmi döşemeye bir örnek şöyledir:
Görebilirsiniz f(1)=1
(mavi vurgulanmış) başlangıç meydanına olarak f(2)=1
yerleştirilmiş karenin sağ bunun, f(3)=2
kare yerleştirilmiş yukarı , oradan f(4)=3
kare yerleştirilir sol bu kadar ve. Bir sonraki kare f(9)=21+13=34
tabana yerleştirilir ve tabana yerleştirilir. Bu meydan okumada kullanacağımız kısmi döşeme yöntemidir.
Kraliçeler
Satranç oyununda en güçlü parça kraliçedir, çünkü herhangi bir sayıda alanı yatay, dikey veya çapraz olarak hareket ettirebilir. Aşağıdaki tahta şemasında, siyah daireli kareler kraliçenin hareket edebileceği yerleri gösterir:
Biz terimi tanımlarsınız kapsama olarak
Kraliçenin boş bir tahtadaki belirli konumu göz önüne alındığında ve kraliçenin kendi başlangıç konumu dahil olmak üzere, kraliçenin toplam kareye karşı hareket edebileceği karelerin yüzdesi.
Yukarıdaki örnek hareketler için kraliçenin kapsamı 28/64 = 43.75%
. Kraliçe sağ üst h8
köşede olsaydı, kapsama alanı olurdu 22/64 = 34.375%
. Kraliçe e7
olsaydı, kapsam da olurdu 24/64 = 37.5%
.
Meydan okuma
Bu meydan okuma için yukarıda gösterilen Fibonacci fayansını satranç tahtası olarak kullanacağız. Size girdi olarak iki pozitif tamsayı verilir n
ve x
:
n
Fayans ne kadar geniş temsil eder. Yukarıdaki örnek döşeme21
, soldaki kare ile, on = 8
zamandan beri bir boyut tahtasıdırf(8) = 21
(sıfır indekslendiğinde).x
Kapsamını hesaplamak için, kraliçe (ler) yerleştirilmesi için kullanılan Fibonacci kareler simgelemektedir. Kraliçeler, belirli Fibonacci kare döşemesindeki her karede birer birer yerleştirilir ve toplam kapsam, bireysel (benzersiz) kapsamın toplamıdır.
Örneğin, burada n = 8
(yukarıdakiyle aynı döşeme) ve x = 4
( f(4) = 3
kare, gölgeli maviye karşılık gelen ) bir görüntü var . Bu dokuz mavi karenin her birine birer birer kraliçe yerleştirerek, kraliçeler turuncu gölgeli her kareyi kaplayabilir (birleştirebilir). Bu örnekteki toplam kapsam bu nedenle 309/714 = 43.28%
.
Oldukça açıktır ki, n = x
kapsama alanı ne zaman olursa olsun 100%
(örneğin, n=8
ve x=8
ile, tüm tahtadaki her karenin en az bir kez kaplanacağını görebilirsiniz). Tersine, uygun büyüklükte n
ve / x=1
veya x=2
kapsama yaklaşacak (ama asla ulaşamayacak) 0%
(örneğin, n=8
ve ile x=1
kapsama bir paltry'dir 88/714 = 12.32%
).
Bu tür iki giriş numarası verildiğinde, iki ondalık basamağa kadar kapsama yüzdesi vermeniz gerekir. Lütfen kodunuzun yuvarlamayı nasıl işlediğini belirtin.
kurallar
- Giriş ve çıkış herhangi bir uygun biçimde verilebilir , ancak iki ondalık basamağa kadar doğru olmalıdır. Lütfen kodunuzun yuvarlamayı nasıl işlediğini belirtin.
- Tahtada başka hiçbir parçanın olmadığını veya hareketlere başka türlü müdahale etmediğini varsayın.
- Tam bir program veya bir işlev kabul edilebilir. Bir işlev varsa, çıktıyı yazdırmak yerine döndürebilirsiniz.
- Mümkünse, diğer kişilerin kodunuzu deneyebilmesi için lütfen bir çevrimiçi test ortamına bağlantı ekleyin!
- Standart boşluklar yasaktır.
- Bu kod golfüdür, bu nedenle her zamanki golf kuralları geçerlidir ve en kısa kod (bayt cinsinden) kazanır.
Örnekler
n = 8, x = 4
43.28
n = 8, x = 8
100 or 100.00
n = 8, x = 1
12.32
n = 4, x = 1
66.67
n = 4, x = 2
60 or 60.00
n = 5, x = 3
75 or 75.00
n = 5, x = 1
47.5 or 47.50