Розбір
У цій задачі вам необхідно знайти кількість цифр у натуральному числі. Є два підходи до її вирішення: ви можете прочитати вхідні дані як число та ділити його на , поки не отримаєте , кількість ділень буде відповіддю до задачі, або ви можете прочитати вхідні дані як рядок, у цьому випадку довжина рядка буде відповіддю.
Використовуючи число
У цьому рішенні вам необхідно реалізувати простий цикл 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))