Решение: Подсчёт чисел в системе 5
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в системе счисления с основанием 5 четырёхзначна и оканчивается на цифру 3. Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0, которое не входит в последовательность. Программа должна напечатать только одно число — количество искомых элементов.
В ответе запишите программу и количество искомых элементов.
Решение по шагам
5 шаговВ системе счисления с основанием 5 четырёхзначные числа имеют значения от $5^3$ до $5^4 - 1$, то есть от 125 до 624.
Последняя цифра записи числа в системе счисления с основанием 5 равна остатку от деления числа на 5. Поэтому проверяем условие $n \bmod 5 = 3$.
Считываем числа до появления нуля. Если число удовлетворяет обоим условиям, увеличиваем счётчик.
Для приведённого примера подходят числа 273, 498 и 733? Число 733 не является четырёхзначным в системе счисления с основанием 5, поэтому подходят числа 138, 273 и 498; результат равен 3.
Пример программы на Python:
$$count = 0\nwhile True:\n n = int(input())\n if n == 0:\n break\n if 5**3 <= n < 5**4 and n % 5 == 3:\n count += 1\nprint(count)$$Программа должна вывести количество чисел, для которых $125 \leq n < 625$ и $n \bmod 5 = 3$; для примера из условия результат равен 3.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Включают число 0 в обрабатываемую последовательность.
Проверяют диапазон натуральных чисел от 1000 до 9999 вместо диапазона четырёхзначных чисел в системе счисления с основанием 5.
Путают последнюю цифру записи в системе счисления с основанием 5 с последней цифрой десятичной записи.
Используют условие $n \leq 5^4$, хотя число $5^4$ уже является пятизначным в системе счисления с основанием 5.