10764. Деление
нацело на 5
На столе лежит n камней.
За 1 монету можно сделать одну из следующих операций:
·
Забрать со стола один камень. Вы не можете выполнить эту операцию,
если на столе нет ни одного камня.
·
Положить на стол еще один камень.
Какое наименьшее количество монет
надо потратить, чтобы число камней на столе делилось нацело на 5?
Обратите внимание, что 0 делится
на любое число, а значит, если на столе остается 0 камней, то условие
задачи выполнено.
Вход. Одно целое число n (0 ≤
n ≤ 109) – начальное количество камней на столе.
Выход. Выведите единственное число – минимальное
количество монет которое нужно потратить, чтобы число камней на столе делилось
нацело на 5.
Пример
входа 1 |
Пример
выхода 1 |
0 |
0 |
|
|
Пример
входа 2 |
Пример
выхода 2 |
1 |
1 |
|
|
Пример
входа 3 |
Пример
выхода 3 |
3 |
2 |
математика
Для
заданного числа n следует
найти ближайшее число, кратное 5. Для этого сначала найдем остаток от деления n на 5,
положив n = n / 5. Теперь ближайшим числом, кратным 5, будет min(n, 5 – n).
Реализация алгоритма
Читаем
входное значение n. Вычисляем его по модулю 5.
scanf("%d", &n);
n = n % 5;
Находим
min(n, 5 – n).
if (5 - n < n) n = 5 - n;
Выводим
ответ.
printf("%d\n", n);