Eklenen Sayılar Oyunu
2 tamsayı parametresi tamsayı parametresi veya tamsayı değişkeni , bir başlangıç sayısı ve bir maksimum yineleme sayısı alan bir işlev / program yazın . Kod, yeni bir sayı oluşturmak için aşağıdaki oyun örneğini gerçekleştirmeli ve sayı tek bir basamak kalıncaya kadar tekrar etmelidir. Örneğin.
3 7 2 = (3 + 7) & (7 + 2) = 10 9
1 0 9 = (1 + 0) & (0 + 9) = 1 9
1 9 = (1 + 9) = 10
1 0 = (1 + 0) = 1
Temel olarak, her bir basamağı almak ve komşusuna eklemek, ardından bir sonraki eklemenin sonucunu eklemek.
Maksimum yineleme sayısı sonsuz döngüleri korumaktır ve maksimum değere ulaşıldığında kodun son 5 sayı adımını dökmesi gerekir. Aynı çıktı, tek bir basamağa ulaşarak bitirirken gerçekleşmelidir. 5 adımdan az meydana gelirse, yalnızca geçerli sayıları girin.
Çıktı Step: Number, bitmiş veya sonlandırılmış adımların son 5 adımı dahil ( ) gibi görünmelidir :
func(3541, 50) tam çıktı biçimini üretir:
6: 1411
7: 552
8: 107
9: 17
10: 8
func(3541, 5) üretecek:
1: 895
2: 1714
3: 885
4: 1613
5: 774
Tüm hesaplama şu şekildedir:
1: 895
2: 1714
3: 885
4: 1613
5: 774
6: 1411
7: 552
8: 107
9: 17
10: 8
5'ten az adım varsa, atılan adımları yazdırmanız yeterlidir.
Sadece yerleşik kütüphaneleri kullanın, parametreler her yerden olabilir (seçtiğiniz dil için en kolay olanı). Maksimum tamsayı boyutunda sınır yoktur ve taşmalar varsa çökmesine izin verin.
Bu bir bulmaca açısından çok zor olmadığı göz önüne alındığında, kabul edilen cevap için gönderimlerin dikkate alınması için 25 Pazar, 20:00 (UTC + 8) tarihine kadar vereceğim, bu noktada herhangi bir dilin en kısa olanı kazanacak.
DÜZENLE:
48 GolfScript cevabını kazanan Howard'ı tebrik ediyoruz .
66 APL cevabı ile 2. sıra marinus özel bir söz .
(JavaScript karşı önyargılı) Benim kişisel favori core1024 aitti cevap .
func(3541, 5)5 veya 10 adım basmam gerekiyor mu?