М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
victoriareih
victoriareih
06.10.2020 16:33 •  Информатика

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

👇
Ответ:
melisa9999
melisa9999
06.10.2020

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.

Объяснение:

4,4(73 оценок)
Открыть все ответы
Ответ:
maxcarleson1
maxcarleson1
06.10.2020
ответ: 1909

Var
 s : String;
 n : Integer;
Function IncS(a : String) : String;
Begin
  a[Length(a)]:=Chr(Ord(a[Length(a)])+1);
  If a[Length(a)]>'D' then
    IncS:=IncS(Copy(a,1,Length(a)-1))+'A'
  else IncS:=a;
end;
Function Check(a : String) : Boolean;
Begin
  Check:=False;
  If (Pos('A',a)>0) then
  Begin
    Delete(a,Pos('A',a),1);
    If (Pos('A',a)>0) then Check:=True;
  end;
end;
Begin
  s:=''; n:=0;
  While s<>'' do
  Begin
  {  Writeln(s);  }
    If Check(s) then Inc(n);
    s:=IncS(s);
  end;
  Writeln(n);
end.
4,5(57 оценок)
Ответ:
ответ: 1909

Var
 s : String;
 n : Integer;
Function IncS(a : String) : String;
Begin
  a[Length(a)]:=Chr(Ord(a[Length(a)])+1);
  If a[Length(a)]>'D' then
    IncS:=IncS(Copy(a,1,Length(a)-1))+'A'
  else IncS:=a;
end;
Function Check(a : String) : Boolean;
Begin
  Check:=False;
  If (Pos('A',a)>0) then
  Begin
    Delete(a,Pos('A',a),1);
    If (Pos('A',a)>0) then Check:=True;
  end;
end;
Begin
  s:=''; n:=0;
  While s<>'' do
  Begin
  {  Writeln(s);  }
    If Check(s) then Inc(n);
    s:=IncS(s);
  end;
  Writeln(n);
end.
4,5(9 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ