В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
лерунька7
лерунька7
19.06.2022 23:40 •  Информатика

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

Ответ:
aarzymova
aarzymova
09.10.2020 05:26

Формально, нужно найти максимальное натуральное N, такое, что существует натуральное k, что M = k * N^2 (N – сторона квадрата, k –количество квадратов), и вывести N^2.

Решаем в лоб: перебираем N от 44721 до 1, если M делится на N^2, выводим N^2. Большие N перебирать бессмысленно, N в квадрате будет слишком большим.

Программа:

var M, N: longint;

begin

 read(M);

 for N := 44721 downto 1 do

   if M mod (N * N) = 0 then

   begin

     write(N * N);

     break;

   end

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?