Pazartesi Mini Golf: Her Pazartesi yayınlanan (umarım!) Bir dizi kısa kod golf mücadelesi.
Ünlü Fibonacci sekansıyla aynı yöntem kullanılarak bir Fibonacci benzeri sekans elde edilir ; yani, her bir F (n) sayısı , sıradaki önceki iki sayıyı ekleyerek ( F (n) = F (n-1) + F (n-2) ) veya sonraki iki sayıyı ( F) çıkartarak bulunur. (n) = F (n + 2) - F (n + 1) ). Ana fark, bu dizilerin herhangi iki sayıyla başlayabilmesidir. Bu dizilerin sıfır dizinlenmesi tartışmalıdır, ancak şimdilik bu kuralı kullanacağız:
- Bir Fibonacci benzeri dizideki 0 sayısı, önceki numaradan daha küçük olan son sayıdır.
Bir örnek olarak, Fibonacci dizisi şu şekilde yazılabilir 1, 0, 1, 1, 2, 3, 5...
, bu yüzden dizideki 0 sayısı yalnızdır 0
.
Meydan okuma
Bu zorluğun amacı, herhangi bir formatta üç tam sayı alan bir program veya işlev yazmaktır:
- A ve B , bir dizi oluşturmaya başlamak için iki sayı.
- N , elde edilen dizinin çıktısının uzunluğu.
Ve 0'dan başlayarak dizinin ilk N sayısını çıkarır.
ayrıntılar
- A , B ve N , görünüşte ayrıldıkları sürece, herhangi bir sıra ve biçimde alınabilir. Farklı bir sipariş / format kullanıyorsanız, lütfen ne olduğunu belirtin.
- A , B ve N'nin her zaman pozitif tamsayılar olduğunu varsayabilirsiniz .
- N'nin 100'den fazla olmadığını ve ortaya çıkan dizinin içermeyeceğini varsayabilirsiniz
x >= 2^31
. - Eğer bir daha büyük olan B , daha sonra B dizisinde 0. sayıdır.
- Çıktı boşluk, virgül ve / veya yeni satırlarla ayrılmalıdır.
- Arkadaki bir boşluk veya satır izin verilmekte, fakat olmayan bir arka virgül.
Test-vakalar
Örnek 1:
8 13 10
8 13
Bir öncekinden daha büyük bir sayı bulana kadar geriye doğru çalışarak , elde ederiz 13 8 5 3 2 1 1 0 1
. Böylece, 0
bu dizideki 0 sayısıdır. Bundan yola çıkarak, 0
9 üyeyi çıkarıyoruz :
0 1 1 2 3 5 8 13 21 34
Örnek 2:
23 37 5
Yine 0ncı sayıyı bulmak için geriye doğru çalışıyoruz 37 23 14 9 5 4 1 3
. Bu sefer 0 sayısı 1
, bu yüzden sonraki 4 üyeyle birlikte yazdırıyoruz:
1 4 5 9 14
Örnek 3:
4 3 8
Bununla, 0ncı sayıyı bulmak için geriye doğru çalışmak zorunda değiliz, çünkü şunlardan 3
daha küçük 4
:
3 7 10 17 27 44 71 115
Örnek 4:
29 47 11
Sonuç:
1 3 4 7 11 18 29 47 76 123 199
puanlama
Bu kod-golf , bayt cinsinden geçerli en kısa koddur. Tiebreaker daha önce gönderilen gönderilere gider. Kazanan gelecek Pazartesi, 28 Eylül'de seçilecek. İyi şanslar!
Düzenleme: Kazanan, @Jakube'a tebrikler, Pyth'i 23 bayt için kullanıyor !
[8, 13, 10]
)?