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.
#include<iostream>
ad alanı std kullanarak;
ana()
{
int, sayım;
cin>> N;
sayı = 0;
iken (n != 0)
{
sayı++;
n = n / 10;
}
cout
Bu programı ezbere bilmeniz gerekiyor, çünkü. temelde, sayıların rakamlarla hesaplanmasıyla ilgili diğer birçok problem çözülmüştü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.