program ;
var
i, a: longint;
x,
u, j,
n, m : longint;
function fdiv (a, left : longint) : longint;
var
d,
i : longint;
begin
d : = 1;
for i : = left to trunc (sqrt (a)) do
if (a mod i = 0)
then
begin
d : = i;
break;
end;
if (d < > 1)
then
fdiv : = d
else
fdiv : = a;
end;
function g (n, u : longint) : longint;
var
i : longint;
begin
i : = 0;
while (n mod u = 0)
do
begin
inc (i);
n : = n div u;
end;
g : = i;
end;
begin
assign (input, 'input.txt');
assign (output, 'output.txt');
reset (input);
read (a);
close (input);
m : = 0;
n : = 1;
i : = fdiv (a, 2);
u : = 2;
while (a > 1)
do
begin
n : = n * i;
j : = 0;
while (a mod i = 0)
do
begin
inc (j);
a : = a div i;
end;
if (j > m)
then
begin
m : = j;
u : = i;
end;
i : = fdiv (a, i + 2);
end;
x : = 1;
while (g (n * x, u) * n * x < m)
do
inc (x);
n : = n * x;
rewrite (output);
write (n);
close (output);
end.
#arr = [*map(int, input().split(' 0')[0].split())] если числа вводятся в строчку , то раскомментируйте и используйте эту строку, а инициализацию массива arr и цикл while закомментируйте
arr = []
while 1:
tmp = int(input())
if tmp != 0: # Читаем сколько угодно чисел пока не будет ноль
arr.append(tmp)
else:
break
s = 0 # сумма двузначных чисел
k = 0 # количество двузначных чисел
for i in arr:
if 10 <= i <= 99: # итерируемся по циклу и если число двузначное
s += i # то прибавляем его к сумме
k += 1 # счетчик двузначный чисел увеличиваем на один
print(s/k) if k > 0 else print('NO') #если количество двузначных > 0 то выводим среднее арифметическое s/k, если нет то выводим NO
для числа 12 делители: 1,2,3,4,6,12
для числа 14 делители: 1,2,7,14
для числа 15 делители:1, 3,5,15
для числа 16 делители: 1,2,4,8,16
для числа 17: 1,17
для числа 18: 1,2,9,18
для числа 19: 1,19
для числа 20: 1,2,4,5,10,20
для числа 21: 1,3,7,20
для числа 22: 1,2,11,22
для числа 23: 1,23
для числа 24: 1,2,3,6,8,12,24
всë я устал извините(