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()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.
int n;
cin >> n;
switch (n)
{case 1 : cout << "Январь" ; break;
case 2 : cout << "Февраль" ; break;
case 3 : cout << "Март" ; break;
case 4 : cout << "Апрель" ; break;
case 5 : cout << "Май" ; break;
case 6 : cout << "Июнь" ; break;
case 7 : cout << "Июль" ; break;
case 8 : cout << "Август" ; break;
case 9 : cout << "Сентябрь" ; break;
case 10 : cout << "Октябрь" ; break;
case 11 : cout << "Ноябрь" ; break;
case 12 : cout << "Декабрь" ; break;
default: cout << "Такого месяца нет";
}
return 0;
}