
Геннадий
6 год назад
Условие этой задачи очень простое. Найдите наименьшее K такое, что K! делится на N без
остатка. K! = 1 · 2 · 3 · ... · (K − 1) · K.
Формат входных данных
В первой и единственной строке дано число N (1 ⩽ N ⩽ 109).
ОТВЕТЫ

Лосев
Jul 22, 2019
Var k,n,d,m,s:integer;
begin
k := 1;
d := 2;
read(n);
while n gt; 1 do
begin
s := 0;
m := 1;
while n mod d = 0 do
begin
if m mod d lt;gt; 0 then
begin
s := s + d;
m := s;
end;
n := n div d;
m := m div d;
end;
if s gt; k then k := s;
d := d + 1
end;
writeln(k)
end.
begin
k := 1;
d := 2;
read(n);
while n gt; 1 do
begin
s := 0;
m := 1;
while n mod d = 0 do
begin
if m mod d lt;gt; 0 then
begin
s := s + d;
m := s;
end;
n := n div d;
m := m div d;
end;
if s gt; k then k := s;
d := d + 1
end;
writeln(k)
end.
19
Смежные вопросы: