Отыскать все вероятные значения длины гипотенузы в прямоугольном треугольнике с целыми
Отыскать все вероятные значения длины гипотенузы в прямоугольном треугольнике с целыми гранями, если один из катетов имеет длину p, где p обычное число.
Подсказываем, что простым величается целое положительное число, имеющее ровно два делителя единицу и самого себя.
Формат ввода
Входные данные содержат одно целое число p (2 p 109+9, p обычное).
Формат вывода
Если пифагоровых треугольников с катетом длины p нет, выведите -1. По другому выведите вероятные длины гипотенуз треугольников, перечисленные в порядке возрастания (то есть от меньшей к большей).
Пример
Ввод 3
Вывод 5
Примечания
Пояснение к образцу: cуществует только один целочисленный прямоугольный треугольник с катетом одинаковым 3 традиционный пифагоров треугольник c длиной гипотенузы, одинаковой 5.
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)
что-то типо этого, но не проходит по медли. Надобно смотреть спектр. Может если кто дорешает, ответьте. а так всё норм работает)
Решение существует всегда, при этом единственное, если p - простое.
Программка на Питоне.
p=int(input())
n=(p*p-1)//2+1
print(n)
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.