Разбор
В этой задаче вам нужно найти количество цифр в натуральном числе. Есть два подхода к ее решению: вы можете прочитать входящие данные как число и делить его на , пока не получите , количество делений будет ответом к задаче, или вы можете прочитать входящие данные как строку, в этом случае длина строки будет ответом.
Используя число
В этом решении необходимо реализовать простой цикл while
. В каждой итерации цикла вам необходимо разделить данное число на и округлить значение до меньшего, когда число достигнет вам нужно завершить цикл. Количество итераций цикла будет являться ответом.
Например, если число , ваше приложение выполнит 5 итераций:
с
с
с
с
с
После деления на 5-й итерации станет равным и цикл остановится.
В этом решении вы должны убедиться, что ваша программа правильно обрабатывает случай, когда данное число . Вы можете добавить отдельный if
перед циклом или записать цикл таким образом, что первая итерация будет выполняться без проверки .
В C++
#include<iostream> using namespace std; int main() { int n=0; cin>>n; int i = 0; do { n /= 10; // поскольку n является целым числом, оно будет автоматически скруглено в меньшую сторону i++; // увеличение количества итераций (равно количеству цифр) } while(n!=0); // проверить значение n в конце cout<<i<<endl; return 0; }
В Python,
n = int(input()) if n == 0: print(1) # число 0 имеет одну цифру else: i = 0 while n != 0: n = n // 10 # разделить n на 10 и округлить в меньшую сторону i = i + 1 # увеличить количество итераций (равно количеству цифр) print(i)
Используя строку
В этом решении вам необходимо прочесть входные данные как строку и вывести длину этой строки. Это очень простое решение, но вы должны убедиться, что строка не содержит лишних символов, например символов конца строки \n
или символов возврата каретки \r
. Эти символы можно убрать с помощью функции trim
.
В C++
#include<iostream> using namespace std; int main() { string n; cin>>n; cout<<n.length()<<endl; return 0; }
В Python,
n = input() print(len(n))