РУҚА
16

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

ОГЭ · Информатика · Тапсырма 16 · Бағдарламалау негіздері
КүрделіФИПИ78083DТолық шешім≈ 10 минутТалдау 4 қадам
Условие

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

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

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

Пример работы программы: при вводе чисел 480, 552, 888, 3024, 4120, 0 программа должна вывести 3.

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

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

4 қадам
1

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

$$512 \leq n < 4096$$
2

Последняя цифра восьмеричной жазбалар равна 0, если число делится на $8$ без остатка.

$$n \mathbin{\%} 8 = 0$$
3

Ввод продолжается до появления числа 0. Для каждого предыдущего числа проверяются оба условия; при их выполнении счётчик увеличивается на единицу.

$$count = count + 1$$

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

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

count = 0
while True:
n = int(input())
if n == 0:
break
if 8**3 <= n < 8**4 and n % 8 == 0:
count += 1
print(count)

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

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

Учитывают завершающий ноль как элемент последовательности.

Проверяют только делимость на 8, но не проверяют, что восьмеричная жазба является четырёхзначной.

Используют границу $8^4$ как допустимое значение, хотя число $8^4$ уже имеет пять цифр в восьмеричной системе.

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

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

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

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

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