Создавать и выполнять программы на универсальном языке программирования · 170 заданий
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с осн…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с осн…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в системе счисления с основанием 5 четырёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с ос…
Программирование
- Задание №16№16
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна…
Программирование
- Задание №16№16
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе сч…
Программирование
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру 0. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает 1000. Последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
480 552 888 3024 4120 0 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо последовательно считывать числа и проверять их на соответствие двум условиям, сформулированным в восьмеричной системе счисления.
1. Условие четырёхзначности в восьмеричной системе.
Число является четырёхзначным в восьмеричной системе счисления, если оно находится в диапазоне от 83 до 84−1.
Вычислим эти границы:
Нижняя граница: 83=8⋅8⋅8=512.
Верхняя граница: 84−1=4096−1=4095.
Следовательно, число x должно удовлетворять условию: 512≤x≤4095.
2. Условие окончания на цифру 0 в восьмеричной системе.
Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. Чтобы число в восьмеричной системе оканчивалось на 0, оно должно делиться на 8 без остатка.
Условие: x(mod8)=0.
3. Алгоритм решения:
— Создаём переменную-счётчик и приравниваем её к 0.
— В цикле считываем числа до тех пор, пока не встретим 0 (признак конца ввода).
— Для каждого введённого числа проверяем: (оно ≥512) И (оно ≤4095) И (оно делится на 8).
— Если все условия выполняются, увеличиваем счётчик на 1.
4. Разбор примера:
— 480: меньше 512. Не подходит.
— 552: входит в диапазон [512;4095], делится на 8 (552=8⋅69). Подходит (1).
— 888: входит в диапазон, делится на 8 (888=8⋅111). Подходит (2).
— 3024: входит в диапазон, делится на 8 (3024=8⋅378). Подходит (3).
— 4120: больше 4095. Не подходит.
Итого: 3 числа.
Ответ: 3
Источник: ФИПИ