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()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.
6. Изображение состоит из 64 * 32 = 2^6 * 2^5 = 2^11 пикселей и под него выделено 64 Кб = 2^6 Кб = 2^16 байт = 2^19 бит памяти. Значит, на каждый пиксель отводится 2^19 / 2^11 = 2^8 = 256 бит. Максимальное допустимое число цветов равно 2^256 (это равно 115792089237316195423570985008687907853269984665640564039457584007913129639936)
7. В изображении 640 * 480 = 307200 пикселей, на каждый отводится 3 байта = 24 бита, тогда объём файла 307200 * 24 = 7372800 бит. Модему на передачу потребуется 7372800 / 56000 = 131,7 с
8. Объем файла уже вычисел, 7372800 бит. Скорость передачи 7372800 / 256 = 28800 бит/с