Görev
Bir sayı girmeli (3.000.000'den küçük olsun) ve içindeki basamak sayısını belirlemelisiniz.
Çözüm fikri
Sadece sayıdan son basamağı sırayla kesmemiz gerekiyor (bu, tamsayıyı 10'a bölerek sayıyı 10 kat azaltarak yapılabilir) ve her seferinde sayacı artırmamız gerekiyor.
Sonuç olarak sayının tüm rakamlarını kestikten sonra sayaçta onların numarasını alacağız.
Bu algoritma şu şekilde formüle edilebilir:
Sayı sıfır olana kadar, 10 azaltın ve her seferinde sayacı 1 artırın.
sayı (n)
sayaç
şey>
123 |
0 |
12 |
1 |
1 |
2 |
0 |
3 |
Program böyle görünecek.
n = int(giriş())
sayı = 0
n != 0 iken:
saymak += 1
n = n // 10
print("Sayı -", n, "içerir", sayım, "rakamlar")
Bu programı ezbere bilmeniz gerekiyor, çünkü. temelinde, bir sayının basamaklarının işlenmesiyle ilgili diğer birçok görev çözülür.
Problem
Programı çalıştırın.
Çalışmasının sonucuna bakın.
Çıktı ifadesinde her şey yolunda mı? Bu sorunu nasıl çözebileceğinizi düşünün.