Biz tüm ünlü aşina Fibonacci dizisi , bununla başlar 0
ve 1
ve her eleman bir önceki ikisinin toplamıdır. İşte ilk birkaç terim ( OEIS A000045 ):
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584
Olumlu bir tamsayı verildiğinde , Fibonacci dizisinin en yakın sayısını şu kurallara göre döndürün:
En yakın Fibonacci sayısı , verilen tamsayı ile en küçük mutlak farkı olan Fibonacci sayısı olarak tanımlanır. Örneğin,
34
en yakın Fibonacci sayı olduğu30
için,|34 - 30| = 4
ikinci yakın bir daha küçük olan21
, için|21 - 30| = 9
.Verilen tamsayı Fibonacci dizisine aitse, en yakın Fibonacci sayısı tam olarak kendisidir. Örneğin, Fibonacci sayısı
13
tam olarak en yakındır13
.Beraberlik durumunda, her ikisi de girişe en yakın olan Fibonacci sayılarından birini çıkarmayı veya her ikisini de çıkarmayı seçebilirsiniz. Girişidir Örneğin,
17
aşağıdakilerden her geçerlidir:21
,13
veya21, 13
. İkisini de iade etmeniz durumunda, lütfen formattan bahsedin.
Varsayılan Loopholes uygulanır. Herhangi bir standart yöntemle girdi alabilir ve çıktı alabilirsiniz . Programınız / fonksiyonunuz sadece 10 8'e kadar olan değerleri kullanmalıdır .
Test Kılıfları
Giriş -> Çıkış 1 -> 1 3 -> 3 4 -> 3 veya 5 veya 3, 5 6 -> 5 7 -> 8 11 -> 13 17 -> 13 veya 21 veya 13, 21 63 -> 55 101 -> 89 377 -> 377 467 -> 377 500 -> 610 1399 -> 1597
puanlama
Bu kod-golf , yani her dilde byte cinsinden en kısa kod kazanır!
n
ima eder n ≥ 1
.