Попробуем написать программу для решения следующей задачи:
Необходимо ввести число (пусть оно будет меньше 3 000 000 и определить количество цифр в нем.
Идея решения
Нам необходимо просто последовательно отсекать от числа последнюю цифру (сделать это можно, уменьшив число в 10 раз, применяя целочисленное деление на 10), при этом каждый раз необходимо увеличить счетчик.
В итоге после того как мы отсекем все числа, в счетчике мы получим количество цифр в числе.
По другому алгоритм можно сформулировать так:
ПОКА ЧИСЛО НЕ РАВНО НУЛЮ, УМЕНЬШИТЬ ЕГО В 10 РАЗ и УВЕЛИЧИТЬ СЧЕТЧИК НА 1.
число (n) |
счетчик |
123 |
0 |
12 |
1 |
1 |
2 |
0 |
3 |
Программа будет выглядеть следующим образом.
#include<iostream>
using namespace std;
main()
{
int n, count;
cin >> n;
count = 0;
while (n != 0)
{
count ++;
n = n / 10;
}
cout << "Number - " <<n<< " contains " << count << " digits";
}
Данную программу нужно знать наизусть, т.к. на ее основе решаются многие другие задачи, связанные с вычислением по цифрам числа.