16. Программирование: все задания
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с основанием $7$ оканчивается цифрой $1$. Если среди входных данных таких элементов нет, программа должна вывести «$NO$».
Программа получает на вход в первой строке натуральное число – количество чисел $N$ ($3 \leq N \leq 10\ 000$), затем $N$ натуральных чисел, не превышающих $30\ 000$, каждое в отдельной строке.
Программа должна вывести одно число – количество десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой $1$, или «$NO$», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 6 12 15 10 71 50 11 | 3 |
Если запись числа в системе счисления с основанием $7$ оканчивается цифрой $1$, то при делении этого числа на $7$ остаток должен быть равен $1$. Например:
$15 = 2 \cdot 7 + 1$
$71 = 10 \cdot 7 + 1$
$50 = 7 \cdot 7 + 1$.
Значит, для каждого введённого числа достаточно проверить условие $x \% 7 == 1$. Будем увеличивать счётчик на $1$, если условие выполняется. После обработки всех чисел, если счётчик равен $0$, выведем $NO$, иначе выведем значение счётчика.
n = int(input())
count = 0
for i in range(n):
x = int(input())
if x % 7 == 1:
count += 1
if count == 0:
print("NO")
else:
print(count)
Для приведённого примера условию соответствуют числа $15$, $71$ и $50$, поэтому программа выведет: $3$.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с основанием $7$ оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «$NO$».
Программа получает на вход в первой строке натуральное число – количество чисел $N$ ($3 \leq N \leq 10\ 000$), затем $N$ натуральных чисел, не превышающих $30\ 000$, каждое в отдельной строке.
Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 7-ричной системе счисления оканчивается нечётной цифрой, или «$NO$», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 6 12 15 10 71 50 11 | 71 |
Последняя цифра записи числа в системе счисления с основанием $7$ равна остатку от деления этого числа на $7$.
В 7-ричной системе счисления используются цифры $0, 1, 2, 3, 4, 5, 6$. Нечётными среди них являются $1$, $3$ и $5$.
Значит, нам подходят числа, для которых остаток от деления на $7$ равен $1$, $3$ или $5$.
Для каждого введённого числа проверим условие $x \% 7 == 1 or x \% 7 == 3 or x \% 7 == 5$. Среди подходящих чисел будем находить наибольшее. Если подходящих чисел не встретилось, выведем $NO$.
n = int(input())
m = 0
for i in range(n):
x = int(input())
if x % 7 == 1 or x % 7 == 3 or x % 7 == 5:
if x > m:
m = x
if m == 0:
print("NO")
else:
print(m)
Для приведённого примера подходят числа $12$, $15$, $10$, $71$ и $50$. Наибольшее из них — $71$, поэтому программа выведет: $71$.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 7 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел $N$ ($3 \leq N \leq 10\ 000$), затем $N$ натуральных чисел, не превышающих $30\ 000$, каждое в отдельной строке.
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 6 12 15 10 71 50 11 | 31.6 |
Последняя цифра записи числа в системе счисления с основанием $7$ равна остатку от деления этого числа на $7$. Нечётными цифрами в 7-ричной системе счисления являются $1$, $3$ и $5$.
Значит, нам подходят числа, для которых остаток от деления на $7$ равен $1$, $3$ или $5$. Например:
$12 = 1 \cdot 7 + 5$
$15 = 2 \cdot 7 + 1$
$10 = 1 \cdot 7 + 3$.
Будем для каждого введённого числа проверять условие $x \% 7 == 1$ или $x \% 7 == 3$ или $x \% 7 == 5$. Если условие выполняется, прибавим число к сумме и увеличим счётчик на $1$. После обработки всех чисел, если счётчик равен $0$, выведем $NO$, иначе выведем среднее арифметическое, равное отношению суммы подходящих чисел к их количеству.
n = int(input())
s = 0
count = 0
for i in range(n):
x = int(input())
if x % 7 == 1 or x % 7 == 3 or x % 7 == 5:
s += x
count += 1
if count == 0:
print("NO")
else:
print(s / count)
Для приведённого примера условию соответствуют числа $12$, $15$, $10$, $71$ и $50$. Их среднее арифметическое:
$\dfrac{12+15+10+71+50}{5}=\dfrac{158}{5}=31.6$.
Поэтому программа выведет: $31.6$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру $D$. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает $1000$. Последовательность чисел заканчивается числом $0$ ($0$ – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 173 285 893 957 4125 0 | 3 |
Трёхзначное число в шестнадцатеричной системе счисления находится в диапазоне от $100_{16}$ до $FFF_{16}$. В десятичной системе это числа от $256$ до $4095$:
$100_{16}=256$
$FFF_{16}=4095$.
Если запись числа в шестнадцатеричной системе счисления оканчивается цифрой $D$, то при делении этого числа на $16$ остаток должен быть равен $13$, так как $D_{16}=13_{10}$.
Значит, для каждого введённого числа достаточно проверить два условия: $256 \leq x \leq 4095$ и $x \%\ 16 == 13$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Ввод чисел продолжается до тех пор, пока не встретится число $0$.
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 13:
count += 1
x = int(input())
print(count)
Для приведённого примера условию соответствуют числа $285$, $893$ и $957$:
$285=11D_{16}$
$893=37D_{16}$
$957=3BD_{16}$.
Число $173=AD_{16}$ является двузначным, а $4125=101D_{16}$ — четырёхзначным, поэтому они не подходят.
Таким образом, программа выведет: $3$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру $5$. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает $1000$. Последовательность чисел заканчивается числом $0$ ($0$ – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 485 557 893 3029 4125 0 | 3 |
Четырёхзначное число в восьмеричной системе счисления находится в диапазоне от $1000_8$ до $7777_8$. В десятичной системе это числа от $512$ до $4095$:
$1000_8=512$
$7777_8=4095$.
Если запись числа в восьмеричной системе счисления оканчивается цифрой $5$, то при делении этого числа на $8$ остаток должен быть равен $5$.
Значит, для каждого введённого числа достаточно проверить два условия: $512 \leq x \leq 4095$ и $x \%\ 8 == 5$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Ввод чисел продолжается до тех пор, пока не встретится число $0$.
count = 0
x = int(input())
while x != 0:
if 512 <= x <= 4095 and x % 8 == 5:
count += 1
x = int(input())
print(count)
Для приведённого примера условию соответствуют числа $557$, $893$ и $3029$:
$557=1055_8$
$893=1575_8$
$3029=5725_8$.
Число $485=745_8$ является трёхзначным, а $4125=10035_8$ — пятизначным, поэтому они не подходят. Таким образом, программа выведет: $3$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру $4$. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 484 556 892 3028 4124 | 3 |
Четырёхзначное число в восьмеричной системе счисления находится в диапазоне от $1000_8$ до $7777_8$. В десятичной системе это числа от $512$ до $4095$:
$1000_8=512$
$7777_8=4095$.
Если запись числа в восьмеричной системе счисления оканчивается цифрой $4$, то при делении этого числа на $8$ остаток должен быть равен $4$.
Значит, для каждого введённого числа достаточно проверить два условия: $512 \leq x \leq 4095$ и $x \%\ 8 == 4$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Так как количество элементов последовательности задано числом $N$, обработаем все числа с помощью цикла.
n = int(input())
count = 0
for i in range(n):
x = int(input())
if 512 <= x <= 4095 and x % 8 == 4:
count += 1
print(count)
Для приведённого примера условию соответствуют числа $556$, $892$ и $3028$:
$556=1054_8$
$892=1574_8$
$3028=5724_8$.
Число $484=744_8$ является трёхзначным, а $4124=10034_8$ — пятизначным, поэтому они не подходят. Таким образом, программа выведет: $3$.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с основанием $7$ оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «$NO$».
Программа получает на вход натуральные десятичные числа, не превышающие $30\ 000$, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом $0$ ($0$ – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 7-ричной системе счисления оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 12 15 10 71 50 11 0 | 71 |
Последняя цифра записи числа в системе счисления с основанием $7$ равна остатку от деления этого числа на $7$. Нечётными цифрами в 7-ричной системе счисления являются $1$, $3$ и $5$.
Значит, нам подходят числа, для которых остаток от деления на $7$ равен $1$, $3$ или $5$. Например:
$12 = 1 \cdot 7 + 5$
$15 = 2 \cdot 7 + 1$
$10 = 1 \cdot 7 + 3$.
Будем для каждого введённого числа проверять условие $x \%\ 7 == 1$ или $x \%\ 7 == 3$ или $x \%\ 7 == 5$. Если условие выполняется, будем сравнивать число с текущим максимальным значением. Ввод чисел продолжается до тех пор, пока не встретится число $0$. После обработки всех чисел, если подходящих элементов не было, выведем $NO$, иначе выведем наибольшее найденное число.
m = 0
x = int(input())
while x != 0:
if x % 7 == 1 or x % 7 == 3 or x % 7 == 5:
if x > m:
m = x
x = int(input())
if m == 0:
print("NO")
else:
print(m)
Для приведённого примера условию соответствуют числа $12$, $15$, $10$, $71$ и $50$. Наибольшее из них — $71$, поэтому программа выведет: $71$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в системе счисления с основанием $5$ четырёхзначна и оканчивается на цифру $0$. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает $1000$. Последовательность чисел заканчивается числом $0$ ($0$ – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 85 135 270 495 730 0 | 3 |
Четырёхзначное число в системе счисления с основанием $5$ находится в диапазоне от $1000_5$ до $4444_5$. В десятичной системе это числа от $125$ до $624$:
$1000_5=125$
$4444_5=624$.
Если запись числа в системе счисления с основанием $5$ оканчивается цифрой $0$, то при делении этого числа на $5$ остаток должен быть равен $0$.
Значит, для каждого введённого числа достаточно проверить два условия: $125 \leq x \leq 624$ и $x \%\ 5 == 0$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Ввод чисел продолжается до тех пор, пока не встретится число $0$.
count = 0
x = int(input())
while x != 0:
if 125 <= x <= 624 and x % 5 == 0:
count += 1
x = int(input())
print(count)
Для приведённого примера условию соответствуют числа $135$, $270$ и $495$:
$135=1020_5$
$270=2040_5$
$495=3440_5$.
Число $85=320_5$ является трёхзначным, а $730=10410_5$ — пятизначным, поэтому они не подходят. Таким образом, программа выведет: $3$.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с основанием $5$ оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «$NO$».
Программа получает на вход в первой строке натуральное число – количество чисел $N$ ($3 \leq N \leq 10\ 000$), затем $N$ натуральных чисел, не превышающих $30\ 000$, каждое в отдельной строке.
Программа должна вывести одно число – количество десятичных чисел (элементов последовательности), запись которых в 5-ричной системе счисления оканчивается нечётной цифрой, или «$NO$», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 6 12 15 10 71 50 11 | 2 |
Последняя цифра записи числа в системе счисления с основанием $5$ равна остатку от деления этого числа на $5$. Нечётными цифрами в 5-ричной системе счисления являются $1$ и $3$.
Значит, нам подходят числа, для которых остаток от деления на $5$ равен $1$ или $3$. Например:
$71 = 14 \cdot 5 + 1$
$11 = 2 \cdot 5 + 1$.
Будем для каждого введённого числа проверять условие $x \%\ 5 == 1$ или $x \%\ 5 == 3$. Если условие выполняется, будем увеличивать счётчик на $1$. После обработки всех чисел, если счётчик равен $0$, выведем $NO$, иначе выведем значение счётчика.
n = int(input())
count = 0
for i in range(n):
x = int(input())
if x % 5 == 1 or x % 5 == 3:
count += 1
if count == 0:
print("NO")
else:
print(count)
Для приведённого примера условию соответствуют числа $71$ и $11$, поэтому программа выведет: $2$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру $E$. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 174 286 894 958 4126 | 3 |
Трёхзначное число в шестнадцатеричной системе счисления находится в диапазоне от $100_{16}$ до $FFF_{16}$. В десятичной системе это числа от $256$ до $4095$:
$100_{16}=256$
$FFF_{16}=4095$.
Если запись числа в шестнадцатеричной системе счисления оканчивается цифрой E, то при делении этого числа на $16$ остаток должен быть равен $14$, так как $E_{16}=14_{10}$.
Значит, для каждого введённого числа достаточно проверить два условия: $256 \leq x \leq 4095$ и $x \%\ 16 == 14$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Так как количество элементов последовательности задано числом $N$, обработаем все числа с помощью цикла.
n = int(input())
count = 0
for i in range(n):
x = int(input())
if 256 <= x <= 4095 and x % 16 == 14:
count += 1
print(count)
Для приведённого примера условию соответствуют числа $286$, $894$ и $958$:
$286=11E_{16}$
$894=37E_{16}$
$958=3BE_{16}$.
Число $174=AE_{16}$ является двузначным, а $4126=101E_{16}$ — четырёхзначным, поэтому они не подходят. Таким образом, программа выведет: $3$.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием $5$ оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «$NO$».
Программа получает на вход натуральные десятичные числа, не превышающие $30\ 000$, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом $0$ ($0$ – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 12 15 10 71 50 11 0 | 41 |
Последняя цифра записи числа в системе счисления с основанием $5$ равна остатку от деления этого числа на $5$. Нечётными цифрами в 5-ричной системе счисления являются $1$ и $3$.
Значит, нам подходят числа, для которых остаток от деления на $5$ равен $1$ или $3$. Например:
$71 = 14 \cdot 5 + 1$
$11 = 2 \cdot 5 + 1$.
Будем для каждого введённого числа проверять условие $x \%\ 5 == 1$ или $x \%\ 5 == 3$. Если условие выполняется, прибавим число к сумме и увеличим счётчик на $1$. Ввод чисел продолжается до тех пор, пока не встретится число $0$. После обработки всех чисел, если счётчик равен $0$, выведем $NO$, иначе выведем среднее арифметическое, равное отношению суммы подходящих чисел к их количеству.
s = 0
count = 0
x = int(input())
while x != 0:
if x % 5 == 1 or x % 5 == 3:
s += x
count += 1
x = int(input())
if count == 0:
print("NO")
else:
print(s / count)
Для приведённого примера условию соответствуют числа $71$ и $11$. Их среднее арифметическое:
$\dfrac{71+11}{2}=\dfrac{82}{2}=41$.
Поэтому программа выведет: $41$.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием $7$ оканчивается цифрой $5$. Если среди входных данных таких элементов нет, программа должна вывести «$NO$».
Программа получает на вход натуральные десятичные числа, не превышающие $30\ 000$, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом $0$ ($0$ – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 5, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 12 14 20 68 25 0 | 40 |
Если запись числа в системе счисления с основанием $7$ оканчивается цифрой $5$, то при делении этого числа на $7$ остаток должен быть равен $5$. Например:
$12 = 1 \cdot 7 + 5$
$68 = 9 \cdot 7 + 5$.
Значит, для каждого введённого числа достаточно проверить условие $x \%\ 7 == 5$. Если условие выполняется, прибавим число к сумме и увеличим счётчик на $1$. Ввод чисел продолжается до тех пор, пока не встретится число $0$. После обработки всех чисел, если счётчик равен $0$, выведем $NO$, иначе выведем среднее арифметическое, равное отношению суммы подходящих чисел к их количеству.
s = 0
count = 0
x = int(input())
while x != 0:
if x % 7 == 5:
s += x
count += 1
x = int(input())
if count == 0:
print("NO")
else:
print(s / count)
Для приведённого примера условию соответствуют числа $12$ и $68$. Их среднее арифметическое:
$\dfrac{12+68}{2}=\dfrac{80}{2}=40$.
Поэтому программа выведет: $40$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру $6$. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 486 558 894 3030 4126 | 3 |
Четырёхзначное число в восьмеричной системе счисления находится в диапазоне от $1000_8$ до $7777_8$. В десятичной системе это числа от $512$ до $4095$:
$1000_8=512$
$7777_8=4095$.
Если запись числа в восьмеричной системе счисления оканчивается цифрой $6$, то при делении этого числа на $8$ остаток должен быть равен $6$.
Значит, для каждого введённого числа достаточно проверить два условия: $512 \leq x \leq 4095$ и $x \%\ 8 == 6$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Так как количество элементов последовательности задано числом $N$, обработаем все числа с помощью цикла.
n = int(input())
count = 0
for i in range(n):
x = int(input())
if 512 <= x <= 4095 and x % 8 == 6:
count += 1
print(count)
Для приведённого примера условию соответствуют числа $558$, $894$ и $3030$:
$558=1056_8$
$894=1576_8$
$3030=5726_8$.
Число $486=746_8$ является трёхзначным, а $4126=10036_8$ — пятизначным, поэтому они не подходят.
Таким образом, программа выведет: $3$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру $4$. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает $1000$. Последовательность чисел заканчивается числом $0$ ($0$ – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 164 276 884 948 4116 0 | 3 |
Трёхзначное число в шестнадцатеричной системе счисления находится в диапазоне от $100_{16}$ до $FFF_{16}$. В десятичной системе это числа от $256$ до $4095$:
$100_{16}=256$
$FFF_{16}=4095$.
Если запись числа в шестнадцатеричной системе счисления оканчивается цифрой $4$, то при делении этого числа на $16$ остаток должен быть равен $4$.
Значит, для каждого введённого числа достаточно проверить два условия: $256 \leq x \leq 4095$ и $x \%\ 16 == 4$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Ввод чисел продолжается до тех пор, пока не встретится число $0$.
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 4:
count += 1
x = int(input())
print(count)
Для приведённого примера условию соответствуют числа $276$, $884$ и $948$:
$276=114_{16}$
$884=374_{16}$
$948=3B4_{16}$.
Число $164=A4_{16}$ является двузначным, а $4116=1014_{16}$ — четырёхзначным, поэтому они не подходят.
Таким образом, программа выведет: $3$.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием $7$ оканчивается цифрой $5$. Если среди входных данных таких элементов нет, программа должна вывести «$NO$».
Программа получает на вход в первой строке натуральное число – количество чисел $N$ ($3 \leq N \leq 10\ 000$), затем $N$ натуральных чисел, не превышающих $30\ 000$, каждое в отдельной строке.
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой $5$, или «$NO$», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 12 14 20 68 25 | 40 |
Если запись числа в системе счисления с основанием $7$ оканчивается цифрой $5$, то при делении этого числа на $7$ остаток должен быть равен $5$. Например:
$12 = 1 \cdot 7 + 5$
$68 = 9 \cdot 7 + 5$.
Значит, для каждого введённого числа достаточно проверить условие $x\ %\ 7 == 5$. Если условие выполняется, прибавим число к сумме и увеличим счётчик на $1$. После обработки всех чисел, если счётчик равен $0$, выведем $NO$, иначе выведем среднее арифметическое, равное отношению суммы подходящих чисел к их количеству.
n = int(input())
s = 0
count = 0
for i in range(n):
x = int(input())
if x % 7 == 5:
s += x
count += 1
if count == 0:
print("NO")
else:
print(s / count)
Для приведённого примера условию соответствуют числа $12$ и $68$. Их среднее арифметическое: $$\dfrac{12+68}{2}=\dfrac{80}{2}=40.$$
Поэтому программа выведет: $40$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру $9$. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает $1000$. Последовательность чисел заканчивается числом $0$ ($0$ – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 169 281 889 953 4121 0 | 3 |
Трёхзначное число в шестнадцатеричной системе счисления находится в диапазоне от $100_{16}$ до $FFF_{16}$. В десятичной системе это числа от $256$ до $4095$:
$100_{16}=256$
$FFF_{16}=4095$.
Если запись числа в шестнадцатеричной системе счисления оканчивается цифрой $9$, то при делении этого числа на $16$ остаток должен быть равен $9$.
Значит, для каждого введённого числа достаточно проверить два условия: $256 \leq x \leq 4095$ и $x \%\ 16 == 9$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Ввод чисел продолжается до тех пор, пока не встретится число $0$.
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 9:
count += 1
x = int(input())
print(count)
Для приведённого примера условию соответствуют числа $281$, $889$ и $953$:
$281=119_{16}$
$889=379_{16}$
$953=3B9_{16}$.
Число $169=A9_{16}$ является двузначным, а $4121=1019_{16}$ — четырёхзначным, поэтому они не подходят.
Таким образом, программа выведет: $3$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления трёхзначна и оканчивается на цифру $6$. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 38 166 478 510 582 | 3 |
Трёхзначное число в восьмеричной системе счисления находится в диапазоне от $100_8$ до $777_8$. В десятичной системе это числа от $64$ до $511$:
$100_8=64$
$777_8=511$.
Если запись числа в восьмеричной системе счисления оканчивается цифрой $6$, то при делении этого числа на $8$ остаток должен быть равен $6$.
Значит, для каждого введённого числа достаточно проверить два условия: $64 \leq x \leq 511$ и $x \%\ 8 == 6$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Так как количество элементов последовательности задано числом $N$, обработаем все числа с помощью цикла.
n = int(input())
count = 0
for i in range(n):
x = int(input())
if 64 <= x <= 511 and x % 8 == 6:
count += 1
print(count)
Для приведённого примера условию соответствуют числа $166$, $478$ и $510$:
$166=246_8$
$478=736_8$
$510=776_8$.
Число $38=46_8$ является двузначным, а $582=1106_8$ — четырёхзначным, поэтому они не подходят.
Таким образом, программа выведет: $3$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в шестнадцатеричной системе счисления трёхзначна и оканчивается на цифру $A$. В ответе запишите количество искомых элементов.
Программа получает на вход натуральные числа. Количество введённых чисел неизвестно, но не превышает $1000$. Последовательность чисел заканчивается числом $0$ ($0$ – признак окончания ввода, не входит в последовательность).
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 170 282 890 954 4122 0 | 3 |
Трёхзначное число в шестнадцатеричной системе счисления находится в диапазоне от $100_{16}$ до $FFF_{16}$. В десятичной системе это числа от $256$ до $4095$:
$100_{16}=256$
$FFF_{16}=4095$.
Если запись числа в шестнадцатеричной системе счисления оканчивается цифрой A, то при делении этого числа на $16$ остаток должен быть равен $10$, так как $A_{16}=10_{10}$.
Значит, для каждого введённого числа достаточно проверить два условия: $256 \leq x \leq 4095$ и $x \%\ 16 == 10$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Ввод чисел продолжается до тех пор, пока не встретится число $0$.
count = 0
x = int(input())
while x != 0:
if 256 <= x <= 4095 and x % 16 == 10:
count += 1
x = int(input())
print(count)
Для приведённого примера условию соответствуют числа $282$, $890$ и $954$:
$282=11A_{16}$
$890=37A_{16}$
$954=3BA_{16}$.
Число $170=AA_{16}$ является двузначным, а $4122=101A_{16}$ — четырёхзначным, поэтому они не подходят.
Таким образом, программа выведет: $3$.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием $7$ оканчивается цифрой $4$. Если среди входных данных таких элементов нет, программа должна вывести «$NO$».
Программа получает на вход в первой строке натуральное число – количество чисел $N$ ($3 \leq N \leq 10\ 000$), затем $N$ натуральных чисел, не превышающих $30\ 000$, каждое в отдельной строке.
Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой $4$, или «$NO$», если среди входных данных таких элементов нет.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 11 25 30 14 54 | 18 |
Если запись числа в системе счисления с основанием $7$ оканчивается цифрой $4$, то при делении этого числа на $7$ остаток должен быть равен $4$. Например:
$11 = 1 \cdot 7 + 4$
$25 = 3 \cdot 7 + 4$.
Значит, для каждого введённого числа достаточно проверить условие $x \%\ 7 == 4$. Если условие выполняется, прибавим число к сумме и увеличим счётчик на $1$. После обработки всех чисел, если счётчик равен $0$, выведем $NO$, иначе выведем среднее арифметическое, равное отношению суммы подходящих чисел к их количеству.
n = int(input())
s = 0
count = 0
for i in range(n):
x = int(input())
if x % 7 == 4:
s += x
count += 1
if count == 0:
print("NO")
else:
print(s / count)
Для приведённого примера условию соответствуют числа $11$ и $25$. Их среднее арифметическое:
$\dfrac{11+25}{2}=\dfrac{36}{2}=18$.
Поэтому программа выведет: $18$.
Напишите программу подсчёта количества элементов последовательности натуральных чисел, запись которых в восьмеричной системе счисления четырёхзначна и оканчивается на цифру $7$. В ответе запишите количество искомых элементов.
На вход программе сначала подаётся количество элементов последовательности $N$ ($1 \leq N \leq 1000$), затем каждый элемент последовательности в отдельной строке.
Программа должна напечатать только одно число – количество искомых элементов последовательности.
Пример работы программы
| Входные данные | Выходные данные |
|---|---|
| 5 487 559 895 3031 4127 | 3 |
Четырёхзначное число в восьмеричной системе счисления находится в диапазоне от $1000_8$ до $7777_8$. В десятичной системе это числа от $512$ до $4095$:
$1000_8=512$
$7777_8=4095$.
Если запись числа в восьмеричной системе счисления оканчивается цифрой $7$, то при делении этого числа на $8$ остаток должен быть равен $7$.
Значит, для каждого введённого числа достаточно проверить два условия: $512 \leq x \leq 4095$ и $x \%\ 8 == 7$. Будем увеличивать счётчик на $1$, если оба условия выполняются. Так как количество элементов последовательности задано числом $N$, обработаем все числа с помощью цикла.
n = int(input())
count = 0
for i in range(n):
x = int(input())
if 512 <= x <= 4095 and x % 8 == 7:
count += 1
print(count)
Для приведённого примера условию соответствуют числа $559$, $895$ и $3031$:
$559=1057_8$
$895=1577_8$
$3031=5727_8$.
Число $487=747_8$ является трёхзначным, а $4127=10037_8$ — пятизначным, поэтому они не подходят.
Таким образом, программа выведет: $3$.