• Найти все возможные значения длины гипотенузы в прямоугольном треугольнике с целыми сторонами, если один из катетов имеет длину p, где p — простое число.


    Напоминаем, что простым называется целое положительное число, имеющее ровно два делителя — единицу и самого себя.

    Формат ввода


    Входные данные содержат одно целое число p (2 ≤ p ≤ 109+9, p — простое).

    Формат вывода


    Если пифагоровых треугольников с катетом длины p нет, выведите -1. Иначе выведите возможные длины гипотенуз треугольников, перечисленные в порядке возрастания (то есть от меньшей к большей).

    Пример

    Ввод 3


    Вывод 5




    Примечания


    Пояснение к примеру: cуществует только один целочисленный прямоугольный треугольник с катетом равным 3 — классический пифагоров треугольник c длиной гипотенузы, равной 5.






Ответы 12

  • Эо на питоне?
    • Автор:

      maryperry
    • 5 лет назад
    • 0
  • Это*
    • Автор:

      spunky
    • 5 лет назад
    • 0
  • не работает
  • выдает ошибку
  • Учите математику, граждане.
  • вот и живем
    • Автор:

      zorro
    • 5 лет назад
    • 0
  • никто не решил 5, да?
  • если что error не подходит, ошибка представления написал
  • 1 инфа огромное число не верно
  • всмысле, я когда в первый раз решала у меня норм было
  • Решение существует всегда, причем единственное, если p - простое.

    Программа на Питоне.

    p=int(input())

    n=(p*p-1)//2+1

    print(n)

    answer img
  • import math

    p = int(input())

    b = False

    for i in range(1, p ** 2):

       gip = (p ** 2) + (i ** 2)

       if math.sqrt(gip) % 1 == 0:

           b = True

           if int(math.sqrt(gip)) != p:

               print(int(math.sqrt(gip)))

    if b == False:

       print(-1)

    # что-то типо этого, но не проходит по времени. Надо смотреть диапазон. Может если кто дорешает, ответьте. а так всё норм работает)

    answer img
    • Автор:

      buck
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years