Bu mücadeleyi göndermeden önce sanal alanı kontrol etmedim - bu meydan okuma Cᴏɴᴏʀ O'Bʀɪᴇɴ tarafından önerilmiş gibi görünüyor .
Bir tamsayı girişi göz önüne alındığında, "dört bir sihirli sayıdır" bilmecesini yazdıran bir program yazın
- Dört sihirli sayıdır
- Beş dört ve dört sihirli sayı
- Altı, üç, üç, beş, beş, dört, ve dördüncü, sihirli sayı.
- Onbir altı ve altı üç ve üç beş ve beş dört ve dört sihirli sayı
- Beş Yüz onbir ve onbir altı ve altı üç ve üç beş ve beş dört ve dört sihirli sayı
Eğer bilmeceyi zaten biliyorsan ya da bilmecenin ne olduğunu bulmak için endişeli çözmek için çok tembelsen , işte bir açıklama
Bir sonraki sayı, önceki sayıdaki harf sayısıdır. Yani, örneğin, beş sahiptir dört sonraki sayıdır nedenle, harfler dört .
Altı vardır üç sonraki sayıdır nedenle, harfleri 3 ve üç sahiptir beş sonraki sayıdır nedenle, mektuplar 5 ve beş sahiptir dört harf sonraki sayıdır nedenle, 4
dört dört harfi vardır çünkü dörtte bilmece uçları olmasının sebebi , dördü dördü dördü dördü dördü dördü dördü dördü ... (dördü sihirli sayı)
Test Kılıfları
0 =>
Zero is four and four is the magic number
1 =>
One is three and three is five and five is four and four is the magic number
2 =>
Two is three and three is five and five is four and four is the magic number
3 =>
Three is five and five is four and four is the magic number
4 =>
Four is the magic number
5 =>
Five is four and four is the magic number
6 =>
Six is three and three is five and five is four and four is the magic number
7 =>
Seven is five and five is four and four is the magic number
8 =>
Eight is five and five is four and four is the magic number
9 =>
Nine is four and four is the magic number
10 =>
Ten is three and three is five and five is four and four is the magic number
17 =>
Seventeen is nine and nine is four and four is the magic number
100 =>
One Hundred is ten and ten is three and three is five and five is four and four is the magic number
142 =>
One Hundred Forty Two is eighteen and eighteen is eight and eight is five and five is four and four is the magic number
1,000 =>
One Thousand is eleven and eleven is six and six is three and three is five and five is four and four is the magic number
1,642 =>
One Thousand Six Hundred Forty Two is twenty nine and twenty nine is ten and ten is three and three is five and five is four and four is the magic number
70,000 =>
Seventy Thousand is fifteen and fifteen is seven and seven is five and five is four and four is the magic number
131,072 =>
One Hundred Thirty One Thousand Seventy Two is thirty seven and thirty seven is eleven and eleven is six and six is three and three is five and five is four and four is the magic number
999,999 =>
Nine Hundred Ninety Nine Thousand Nine Hundred Ninety Nine is fifty and fifty is five and five is four and four is the magic number
kurallar
- Girdi,
STDIN
işlevden veya bir işlevin argümanı olarak alınabilir. - Giriş 0 ile 999.999 arasında pozitif bir sayı olacaktır.
- Girdi yalnızca sayıları içerecek (regex'i takip edecek
^[0-9]+$
) - Giriş, bir tam sayı veya dize olarak alınabilir.
- Bir kelime dizgisine dönüştürüldüğünde, boşluklar ve kısa çizgiler sayıma dahil edilmemelidir (100 [Yüz], 10 değil, 10 karakterdir. 1.742 [Bin Yedi Kırk İki], 31 değil, 31 karakterdir)
- Bir dizgiye dönüştürüldüğünde, 100, Yüz veya Yüz değil, Yüz Bin veya Bin veya Yüz olmalıdır.
- Bir dizeye dönüştürülür zaman 142 Yüz Kırk İki, değil Yüz olmalıdır ve Kırk İki
- Çıktı büyük / küçük harf duyarsızdır ve " N , K ve K , M ve M'dir ... ve dört, sihirli sayıdır" biçiminde olmalıdır (girdi 4 değilse, çıktı basitçe "dört olmalıdır" sihirli sayı ")
- Çıktı , programınız her zaman tutarlı olduğu sürece, harfler yerine ("5, 4 ve 4, sihirli sayıdır") yerine "beş, dört ve dört, sihirli sayıdır" yerine rakamlar kullanabilir.
- Çıktı, bir işlevin dönüş değeri olabilir veya
STDOUT
- Standart boşluklar uygulanır
- Bu kod golf , yani bayt cinsinden en kısa program kazanır. İyi şanslar!
Bonus
Giriş -999,999 ve 999,999 arasında olduğunda program çalışıyorsa -30 bayt .
Negatif sayılar, kelimelere dönüştürüldüğünde, önünde "negatif" var. Örneğin -4
, "Negatif Dört", Negatif Dört on iki ve on iki altı ve altı, üç ve üç beş ve beş, dört ve dört, sihirli sayıdır.
Program, numaranın dize gösterimini oluşturmak için herhangi bir yerleşik işlevi kullanmazsa -150 bayt
Liderler Sıralaması
Bu, hem lider tablosunu hem de kazananların dile göre genel bir bakış oluşturmasını sağlayan bir Stack Snippet'tir.
Cevabınızın göründüğünden emin olmak için, lütfen aşağıdaki Markdown şablonunu kullanarak cevabınızı bir başlık ile başlatın
## Language Name, N bytes
N, gönderinizin bayt olarak büyüklüğüdür.
Başlığınıza birden çok numara eklemek istiyorsanız (örneğin, eski puanlara dikkat çekmek veya bayt sayımındaki bayraklar dahil), gerçek puanın başlığınızdaki son sayı olduğundan emin olun.
## Language Name, <s>K</s> X + 2 = N bytes