Top.Mail.Ru
Ответы

ИНФОРМАТИКА СИРИУС 9-11 КЛАССЫ

кто решал, помогите пж!!! на любом языке программирования

По дате
По рейтингу
Аватар пользователя
Новичок
8мес
1234567891011
 x, n, i = int(input()), 1, 2
q = x
while i * i <= x:
  t = 0
  while x % i == 0:
    t += 1
    x //= i
  if t % 2: n *= i
  i += 1
n *= x
print(n) 

Раскладываем кол-во плиток на простые множители. И если очередной множитель входит в число нечётное кол-во раз, необходимо умножить кол-во пачек на величину этого множителя.

Аватар пользователя
Мыслитель
8мес
123456789
 x = int(input()) 
k = 1 
while True: 
    temp = (k * x) ** 0.5 
    if temp - int(temp) == 0: 
        print(k) 
        break 
    else: 
        k += 1