def check_simple(number:int):
assert number % number == 0 #check number is 'int' class
for i in range(2, number):
if number % i == 0:
return 0
return 1
def main():
a,b = input().split()
assert int(a) >= int(b) #Гарантировано, что a >= b
res = []
for i in range(int(a), int(b)):
if check_simple(i):
res.append(i)
if len(res) == 0:
print(0)
else:
print(' '.join(str(i) for i in res))
if __name__ == '__main__':
main()
Объяснение:
Скриншот приложен на случай, если сайт поломает табуляции в коде. Программа протестирована
123₈ = 1010011₂
Объяснение:
Я с триады решил, но ты можешь поступить следующим
1) Перевести 123₈ в десятичную систему счисления.
а) Обозначить разряды от 0, начиная с конца (разряд пишется над числом). То есть 3 — 0 разряд, 2 — 1 разряд, 1 — 2 разряд.
б) Сложить произведения цифр и оснований в степени соответствующего цифре разряда. То есть, 1 * 8² + 2 * 8¹ + 3 * 8⁰ = 64 + 16 + 3 (8⁰=1) = 83₁₀
2) Из десятичной перевести в двоичную.
Число 83₁₀ нужно просто делить на 2 (на систему счисления, в которую нужно перевести), выделяя остаток, пока не получится 0
83/2 = 41 | остаток 1
41/2 = 20 | остаток 1
20/2 = 10 | остаток 0
10/2 = 5 | остаток 0
5/2 = 2 | остаток 1
2/2 = 1 | остаток 0
1/2 = 0 | остаток 1
Полученные остатки нужно выписать снизу вверх. То есть, 83₁₀ = 1010011₂
Итак, 123₈ = 83₁₀ = 1010011₂