Предмет: Информатика, автор: лоро12

СРОЧНО !! ДАЮ 99 БАЛЛОВ !!! Python
Парад
В параде принимают участие M военных. Командование парада решило, что наиболее
эффектное построение военных – в форме квадрата, то есть число участников построения
должно быть точным квадратом. Но поскольку число M может не быть точным квадратом,
разрешается разбить военных на несколько полков, каждый из которых строится в форме
квадрата. Для красоты все полки должны быть одинакового размера, также командование
парада хочет, чтобы размер каждого полка был как можно больше. Определите максимально
возможный размер полка.
Программа получает на вход одно целое положительное число M,
не превосходящее 2×109
, – количество участников парад. Программа должна вывести одно
число – максимально возможный размер полка.
Пример входных и выходных данных
Ввод Вывод
180 36

Приложения:

лоро12: Это решения которые сделал я но они не работают (( напишите прогу и объясните задачу пожалуйста
лоро12: в Python пж
maximklllll: Ты уверен что при 180 ,должно быть 36 , а не 60 ? из 60 тоже можно сделать квадрат , и он будет ниибольшим для 180
лоро12: так в примере написанно
maximklllll: А , я понял суть , и соре , могу только на поскале сделать
лоро12: на паскале тоже сойдет главное что бы работала
лоро12: я знаю два языка паскаль и Python
THEFreeZe: 36 именно потому,что это площадь квадрата,то что выше сказали про 60,это только периметр,а площадь квадрата = a^2

Ответы

Автор ответа: petyaGavrikov
5

import math

M = int(input())

K = round(math.sqrt(M))

while (M % (K*K)) != 0:

K = K-1

print(K*K)

Пример:

180

36


maksgol55: для 19 выдаёт 1. по идее минимум 4 должно быть
petyaGavrikov: "все полки должны быть одинакового размера"
maksgol55: да, сегодня проверил на олимпиаде, всё верно, 100 баллов, спасибо
maksgol55: https://znanija.com/task/30198258 можешь эту помочь решить?
Интересные вопросы
Предмет: Қазақ тiлi, автор: muratovvatolganai0