Ben çocukken ve hayatımdaki tasarruflarımı hesaplamak istediğimde, yüksek sesle sayılırdım:
bir iki üç dört beş altı Yedi sekiz dokuz on;
onbir, on iki, on üç, on dört, on beş, on altı, on yedi, on sekiz, on dokuz, yirmi;
yirmi bir, yirmi iki, yirmi üç, yirmi dört, yirmi beş ...
Sonunda bu çok heceli sayıların her birini telaffuz etmekten yoruldum. Matematiksel düşünceyle, çok daha verimli bir sayım yöntemi yarattım:
bir iki üç dört beş altı Yedi sekiz dokuz on;
bir, iki, üç, dört, beş, altı, yedi, sekiz, dokuz, yirmi;
bir, iki, üç, dört, beş, altı, yedi, sekiz, dokuz, otuz ...
Gördüğünüz gibi, sadece önceki numaradan değiştirilen rakamları telaffuz ediyorum. Bu, sayıların İngilizce isimlerinden çok daha fazla tekrarlanabileceği ve bu nedenle hesaplamak için daha az beyin gücü gerektirdiğine ek bir avantaja sahiptir.
Meydan okuma
Olumlu bir tamsayı alan ve nasıl sayarım çıktısını veren / döndüren bir program / işlev yazın: yani, en sağ sıfır olmayan basamak ve tüm sondaki sıfırlar.
Örnekler
1 1
2 2
10 10
11 1
29 9
30 30
99 9
100 100
119 9
120 20
200 200
409 9
1020 20
Testlerin tam listesi gerekli olmamalıdır. Bu, OEIS’te A274206 .
kurallar
- Girişiniz, hassasiyet ve bellek konularını göz ardı ederek tüm pozitif tamsayılar için teorik olarak çalışmalıdır.
- Giriş ve çıkış ondalık basamakta olmalıdır.
- Girdi ve / veya çıktıyı sayı, dize veya rakam dizisi olarak almayı seçebilirsiniz.
- Giriş, pozitif bir tamsayı olarak garanti edilir. Girişiniz geçersiz giriş için her şeyi yapabilir.
Bu kod golf , yani bayt cinsinden en kısa kod kazanır.
[1,0,2,0]
-> gibi ondalık basamakların bir listesini içerir[2,0]
mi? ("Single-item array" cümlesinde belirsizim).