e-olymp 2. Цифры

Задача

Вычислить количество цифр целого неотрицательного числа $n$.

Входные данные

Одно целое неотрицательное число $n$ [latex](0 \ge n \ge 2\cdot10^9)[/latex].

Выходные данные

Количество цифр в числе $n$.

Тесты

Входные данные Выходные данные
12345 5
1 1
353628 6
5454 4
0 1

Код программы (с использованием условных операторов)

 

Код программы (без использования условных операторов)

Решение

Для первого решения задачи используем череду условных операторов ( ifelse), сравнивая $n$ с концами промежутков чисел с соответствующим количеством цифр. Обойтись без них можно, задав переменную  string, присвоив ей значение числа $n$ и используя функцию  length()в выводе (перед этим подключив библиотеку  string).

Ссылки

E-Olymp

Ideone (с условными операторами)

Ideone (без условных операторов)

e-olymp 6275. Удвоение

Задача

Удвоить каждую цифру заданного трицифрового числа.

Входные данные

Трицифровое целое число.

Выходные данные

Ответ к задаче.

Тесты

# ВХОДНЫЕ ДАННЫЕ ВЫХОДНЫЕ ДАННЫЕ
1 123 112233
2 564 556644
3 124 112244
4 100 110000
5 202 220022

Код программы

Решение

Задаём трёхзначное число  n с помощью оператора  cin. Разобьём его на цифры, которые сохраним в переменных  ab и  c.  Тогда для эффекта удвоения цифр числа выведем сумму произведений этих цифр с числами, соответствующих им разрядам, также удвоенными поцифрово (1 → 11, 10 → 1100, 100 → 110000).

Ссылки

e-olymp

ideone.com

e-olymp 935. Разложение трицифрового числа

Задача

Разложить заданное трицифровое число на цифры.

Входные данные

В единственной строке задано целое трицифровое число.

Выходные данные

Вывести каждую цифру в новой строке. Порядок вывода приведён в примере.

 

Код

Тесты

Входные данные Выходные данные
1 123 1

2

3

2 98 0

9

8

3 -456 4

5

6

4 -1 0

0

1

5 -78 0

7

8

 

Решение

Для начала задаем переменную(a) в которой будет трехзначное число, которое мы вводим с клавиатуры. Затем проверяем: отрицательное или положительное это число. Если число отрицательное, то домножаем его на (-1). Если число останется отрицательным, то все выходные цыфры  тоже будут отрицательными, а это противоречит условию. Итак мы имеем трехзначное положительное число. Для того чтобы получить первую цифру этого числа воспользуемся простой формулой [latex]a/100[/latex], вторую цифру по формуле — [latex](a/10)%10[/latex], и третью [latex]a%10[/latex]. После отображения каждой цифры воспользуемся командой \n, для того чтобы каждая цифра была на отдельной строке.

Задача взята с сайта.