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()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.
var
s,s1:string;
i,n,t:integer;
begin
ClrScr;
Write('Введите строку: '); Readln(s);
ClrScr;
n:=Length(s);
s1:=Copy(s,1,n);
for i:=1 to n do s1[i]:=s[n-i+1];
Writeln(s,' ',Length(s));
Writeln(s1,' ',Length(s1));
ReadKey
end.