В параде принимают участие N военных. Командирование парада решило, что наиболее эффективное построение военных - в форме квадрата, то есть число участников построения должно быть точным квадратом. Но поскольку число M может не быть точным квадратом, разрешается разбить военных на несколько полков, каждый из которых строится в форме квадрата. Для красоты все полки должны быть одинакового размера, также командование парада хочет, чтобы размер каждого полка был как можно больше. Определите максимально возможный размер полка. Программа получает на вход одно целое положительное число M, не превосходящее 2 *10^9 , - количество участников парад. Программа должна вывести одно число- максимально возможный размер полка
ввод-180
вывод36

Ответы

Ответ дал: Aniforka
0

Ответ:

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.

Объяснение:

Вас заинтересует