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()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.
Паскаль.
Немного не понятно: от 1 до 10 это относится только к нечетным числам или ко всем? Ну напишу программу которая просто все числа вычисляет, если сама не сможешь поставить условие ограничения, то сообщи точное условие задачи и напиши мне в личку
program jjj;
var a: array [1..10] of integer; i,summa,proizv:integer;
begin
for i:=1 to 10 do begin
Writeln('напишите элемент массива номер ',i); read(a[i]);
end;
For i:=1 to 10 do begin
if a[i] mod 2=0 then summa:=summa+a[i] else
proizv:=proizv*a[i];
end;
Writeln(summa,' ',proizv); readln;
end.