Çılgın matematikçi geniş bir sayı koleksiyonuna sahiptir ve bu nedenle bıraktığı alan oldukça sınırlıdır. Bazılarını kurtarmak için tam sayılarını katlaması gerekir, ancak ne yazık ki gerçekten tembeldir. Göreviniz, ona yardım etmek istiyorsanız, manyak sayımız için belirli bir pozitif tamsayıyı katlayan bir işlev / program oluşturmaktır.
Tam sayı nasıl katlanır?
Basamaklarının toplamıyla eşit olarak bölünebiliyorsa, basamaklarının toplamıyla bölün. Bu gereksinimi karşılamıyorsa, rakamlarının toplamına bölünmesiyle kalanını alın. Sonuç ulaşana kadar işlemi tekrarlayın 1
. Katlanmış tam sayı, gerçekleştirmeniz gereken işlem sayısıdır. Bir örnek alalım (diyelim 1782
):
Onun basamak toplamını alın:
1 + 7 + 8 + 2 = 18
.1782
eşit olarak bölünebilir18
, yani bir sonraki sayı1782 / 18 = 99
.99
tarafından eşit olarak bölünemez9 + 9 = 18
, bu yüzden geri kalanını alırız99 % 18 = 9
.9
belli ki tarafından bölünebilir9
, bu yüzden onu böleriz ve elde ederiz1
.
Sonuç 3
, ulaşmak için 3 işlem gerektiğinden 1
.
Kurallar ve Şartnameler
Bazı tamsayılar veya
1
gibi basamakların toplamına sahip olabilir . Programınızın bu tür durumları ele almasına gerek yoktur. Diğer bir deyişle, giriş olarak verilen tamsayının rakamların toplamına eşit olmadığı garanti edilir ve verilen tamsayı ile hiçbir işlem yapılmazsa, rakamların toplamı ( kendisi hariç , " hedef"). Örneğin, hiçbir zaman veya girdi olarak almazsınız .10
100
1
1
1
10
20
Giriş, değerinden daha yüksek bir pozitif tam sayı olacaktır
1
.Varsayılan Loopholes uygulanır.
Herhangi bir standart ortalama ile girdi alabilir ve çıktı sağlayabilirsiniz .
Test Durumları
Giriş -> Çıkış 2 -> 1 5 -> 1 9 -> 1 18 -> 2 72 -> 2 152790 -> 2 152 -> 3 666 -> 3 777 -> 3 2010 -> 3 898786854 -> 4
İşte süreci görselleştirmenizi ve daha fazla test örneği denemenizi sağlayan bir program .
Bu kod golf , bu yüzden her dilde (bayt cinsinden puan) en kısa kod kazanır!
8987868546
geçerli bir girdidir, bu test aracını kırmak ve cevapların aynı zamanda birçok (hepsi değilse) ... olacak
898786854
, değil 8987868546
( 6
sonuna bir eklediniz )
8987868546
1 ( Kural 1 karşılandı ) değil ve 8987868546
1'den ( Kural 2 karşılandı ) yüksek bir pozitif tam sayı .