РУҚА
16

Шешімі: Подсчёт восьмеричных чисел

ОГЭ · Информатика · Тапсырма 16 · Санау жүйелері
КүрделіФИПИ20C643Толық шешім≈ 10 минутТалдау 5 қадам
Условие

Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 5.

Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).

Программа должна напечатать только одно число — количество искомых элементов последовательности.

Пример работы программы: при вводе чисел 485, 557, 893, 3029, 4125, 0 программа должна вывести 3.

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

5 қадам
1

Восьмеричная запись числа является четырёхзначной, если число находится в диапазоне от $8^3$ до $8^4 - 1$.

$$8^3 \leq n < 8^4 \quad \Longleftrightarrow \quad 512 \leq n < 4096$$
2

Последняя цифра записи числа в восьмеричной системе равна остатку от деления числа на 8. Поэтому последняя цифра равна 5, если остаток от деления равен 5.

$$n \bmod 8 = 5$$
3

Читаем числа в цикле до появления нуля. Ноль не обрабатываем и не включаем в последовательность.

4

Для каждого числа, удовлетворяющего обоим условиям, увеличиваем счётчик. После завершения ввода выводим счётчик.

$$512 \leq n < 4096 \;\land\; n \bmod 8 = 5$$

Один из нұсқа программы на Python:

$$count = 0\nwhile True:\n n = int(input())\n if n == 0:\n break\n if 512 <= n < 4096 and n % 8 == 5:\n count += 1\nprint(count)$$
Жауап

Программа должна считать числа $n$, для которых $512 \leq n < 4096$ и $n \bmod 8 = 5$, и вывести количество таких чисел.

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Проверяют диапазон десятичных чисел неправильно и включают числа меньше 512 или не меньше 4096.

Используют условие $n \bmod 10 = 5$ вместо остатка от деления на 8.

Учитывают число 0 как элемент последовательности.

Выводят сами подходящие числа вместо их количества.

Забывают увеличить счётчик при выполнении условия.

Закрепить приёмВ теме «Санау жүйелері» ещё 230 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 16 ОГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 5 шагов: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Системы счисления»: в ней 231 задача, и у каждой есть такой же разбор. Тіркеу қажет емес.