Задания 24 - 27 | Разбор варианта Статград | Тренировочная работа №1 от 27.10.2021

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.พ. 2025

ความคิดเห็น • 7

  • @ege_inf
    @ege_inf  3 ปีที่แล้ว

    В 25-ом номере ошибка: нужно добавить проверку q

    • @ch1ba407
      @ch1ba407 3 ปีที่แล้ว

      можно пойти до корня в поиске делителей, т.е int(n) ** 0.5

    • @ege_inf
      @ege_inf  3 ปีที่แล้ว

      @@ch1ba407 Да, так будет оптимальнее👌 исправила

  • @ch1ba407
    @ch1ba407 3 ปีที่แล้ว +3

    в 25 ведь нужно было проверить чтоб m < n было, а у вас слишком большие m

    • @ege_inf
      @ege_inf  3 ปีที่แล้ว +2

      Точно, спасибо!
      Не заметила это условие
      Верный ответ и программу оставляю в закрепе в комментариях

  • @ДмитрийЖе-в1г
    @ДмитрийЖе-в1г 3 ปีที่แล้ว +2

    Да, ошиблись в 25м.
    Ограничение < N позволяет проверять делители до корня! Считает моментально.
    found = 0
    for i in range(200000001, 300000000):
    mul = 1
    n = 0
    for k in range(2, int(i ** .5)):
    if i % k == 0:
    n += 1
    mul *= k
    if n == 5 or n == 4 and i ** .5 == int(i ** .5):
    if mul < i:
    print(i, mul)
    found += 1
    break
    if found == 5:
    break

    • @ege_inf
      @ege_inf  3 ปีที่แล้ว

      И правда, логично, если произведение делителей меньше числа, то делители не более корня из числа.
      Отличное решение!)