У цій задачі вам необхідно знайти кількість цифр у натуральному числі. Є два підходи до її вирішення: ви можете прочитати вхідні дані як число та ділити його на , поки не отримаєте , кількість ділень буде відповіддю до задачі, або ви можете прочитати вхідні дані як рядок, у цьому випадку довжина рядка буде відповіддю.
У цьому рішенні вам необхідно реалізувати простий цикл while. У кожній ітерації циклу вам необхідно розділити дане число на і округлити значення до меншого, коли число досягне вам треба заверишити цикл. Кількість ітерацій циклу буде відповіддю.
Наприклад, якщо число , ваша програма виконає 5 ітерацій:
з n = 12345
з n = 1234
з n = 123
з n = 12
з n = 1
Після ділення на 5-й ітерації стане рівним і цикл зупиниться.
У цьому рішенні ви повинні переконатися, що ваша програма правильно обробляє випадок коли дане число n = 0. Ви можете додати окремий 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))