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()
Объяснение:
На случай, если сайт сломает табуляции в коде (А он их сломает), ниже представлен скриншот оригинала кода. Программа протестирована.
def check_simple(number:int):
assert number % number == 0 #check number is 'int' class
for i in range(2, number):
if number % i == 0:
return 0
return 1
def main():
a,b = input().split()
assert int(a) >= int(b) #Гарантировано, что a >= b
res = []
for i in range(int(a), int(b)):
if check_simple(i):
res.append(i)
if len(res) == 0:
print(0)
else:
print(' '.join(str(i) for i in res))
if __name__ == '__main__':
main()
Объяснение:
Скриншот приложен на случай, если сайт поломает табуляции в коде. Программа протестирована
var
a1, a2, b1, b2, c, i, n: integer;
s: array [1..100] of integer;
begin
read(n);
for i := 1 to n do
begin
s[i] := random(100);
if s[i] < 50 then
begin
a1 := a1 + s[i];
a2 := a2 + 1;
end;
if s[i] >= 50 then
begin
b1 := b1 + s[i];
b2 := b2 + 1;
end;
end;
writeln(a1 / a2:0:3, ' ', b1 / b2:0:3);
end.
2)
var
i, n: integer;
f: boolean;
s: array [1..100] of integer;
begin
read(n);
for i := 1 to n do
s[i] := random(5);
f := false;
for i := 1 to n - 1 do
f := f or (s[i] = s[i + 1]);
writeln(f);
end.
3)
var
k, t, i, n: integer;
s: array [1..100] of integer;
begin
read(n);
for i := 1 to n do
s[i] := random(99);
// Println(s);
k := n div 2;
for i := 1 to k div 2 do
begin
t := s[i];
s[i] := s[k + 1 - i];
s[k + 1 - i] := t;
t := s[i+k];
s[i+k] := s[n + 1 - i];
s[n + 1 - i] := t;
end;
// Println(s);
for i := 1 to n do
write(s[i], ' ');
end.