Создавать и выполнять программы на универсальном языке программирования · 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 – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
Входные данные | Выходные данные |
|---|---|
32 160 472 504 576 0 | 3 |
Решение
Решение.
Для решения этой задачи нам необходимо последовательно считывать числа до тех пор, пока не встретится 0, и для каждого числа проверять два условия, сформулированных в задании.
Шаг 1. Разбор условий задачи.
Нам нужно найти числа, которые в восьмеричной системе счисления:
1) Являются трёхзначными.
2) Оканчиваются на цифру 0.
Шаг 2. Перевод условий на язык математики.
Вспомним свойства систем счисления:
— Число является трёхзначным в системе с основанием n, если оно находится в диапазоне от n2 до n3−1. Для восьмеричной системы (n=8) это диапазон от 82 до 83−1.
Вычислим границы: 82=64, а 83=512. Значит, число x трёхзначно в восьмеричной системе, если 64≤x<512.
— Последняя цифра числа в системе счисления с основанием n — это остаток от деления этого числа на n. Чтобы число в восьмеричной системе оканчивалось на 0, остаток от деления на 8 должен быть равен 0. То есть число должно делиться на 8 без остатка (x(mod8)=0).
Шаг 3. Алгоритм решения.
1. Создаём переменную-счётчик count и присваиваем ей значение 0.
2. Организуем цикл чтения чисел до тех пор, пока введённое число не равно 0.
3. Внутри цикла проверяем: если (x≥64) И (x≤511) И (x(mod8)=0), то увеличиваем count на 1.
4. После окончания цикла выводим значение count.
Шаг 4. Проверка на примере.
— 32: меньше 64 (двузначное в 8-ой системе: 408) — не подходит.
— 160: 64≤160<512 и 160/8=20 (остаток 0) — подходит (2408).
— 472: 64≤472<512 и 472/8=59 (остаток 0) — подходит (7308).
— 504: 64≤504<512 и 504/8=63 (остаток 0) — подходит (7708).
— 576: больше 511 (четырёхзначное в 8-ой системе: 11008) — не подходит.
Итого: 3 числа.
Пример реализации на языке Python:
count = 0
x = int(input())
while x != 0:
if 64 <= x <= 511 and x % 8 == 0:
count += 1
x = int(input())
print(count)
Ответ: 3
Источник: ФИПИ