def check_perfect(number:int, dividers = []):
for i in range(1, number):
if number%i == 0:
dividers.append(i)
if sum(dividers) == number:
return 1
def get_div(num, div = []):
for i in range(1, num):
if num%i == 0:
div.append(i)
return div
def main():
number = int(input())
if check_perfect(number):
print(' '.join(str(num) for num in get_div(number)))
else:
print(0)
if __name__ == '__main__':
main()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.
Поделитесь своими знаниями, ответьте на вопрос:
121 и 123 определить по алгоритму что простое , а что составное. блок схема нужна с постусловием .
1.V=24*2=48 байт = 384 бита
2.192 символа на стр- 30720 символов. Мощность алфавита 256 - значит в алфававите 256 знаков. 2 в степени восемь - равно 256.весь алфавит можно закодировать одним байтом (в одном байте - как раз восемь бит, степень двойки. Бит - принимает ДВА значения - 0 и 1 - отсюда основание 2, которое возводим в восемь :) ) на каждый символ текста надо потратить один байт памяти. Итого получаем 30720 БАЙТ. в одном КИЛОБАЙТЕ 1024 байта. Делим 30720 на 1024 получаем 30 КБайт.
3.в 2 раза уменьшился
4
1024000/8=128000 (перевели в байты)
128000/1024=125кбайт/сек (перевели в килобайты)
125*5= 625 килобайт
5.
всего используется 12 букв + 10 цифр = 22 символа
для кодирования 22 вариантов необходимо использовать 5 бит, так как , т.е. 4 бит не хватит (они позволяют кодировать только 16 вариантов), а 5 уже достаточно
таким образом, на каждый символ нужно 5 бит (минимально возможное количество бит)
полный номер содержит 6 символов, каждый по 5 бит, 30 бит один номер.
по условию каждый номер кодируется целым числом байт (в каждом байте – 8 бит), поэтому требуется 5 байт на номер ( ), 4 байтов не хватает, а 5 – минимально возможное количество
на 32 номеров нужно выделить 160 байтов приблизительно 192байта
правильный ответ – 160байт...т.к 32*5=160 или приблизетельно 192байта.
Объяснение: