Впараде принимают участие n военных. командирование парада решило, что наиболее эффективное построение военных - в форме квадрата, то есть число участников построения должно быть точным квадратом. но поскольку число m может не быть точным квадратом, разрешается разбить военных на несколько полков, каждый из которых строится в форме квадрата. для красоты все полки должны быть одинакового размера, также командование парада хочет, чтобы размер каждого полка был как можно больше. определите максимально возможный размер полка. программа получает на вход одно целое положительное число m, не превосходящее 2 *10^9 , - количество участников парад. программа должна вывести одно число- максимально возможный размер полка
ввод-180
вывод36
program abc;
var m,o,k:int64;
begin
readLn(m);
o:=2000000000;
for i:integer:=trunc(sqrt(m))+1 downto 1 do
if (o>m div sqr(i)) and (m mod sqr(i) = 0) then
begin
o:=m div sqr(i);
k:=sqr(i);
end;
writeLn(k);
end.
Объяснение: