Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt...

0 голосов
2.0k просмотров

Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt Вывод стандартный вывод или output.txt Найти все возможные значения длины гипотенузы в прямоугольном треугольнике с целыми сторонами, если один из катетов имеет длину p, где p — простое число. Напоминаем, что простым называется целое положительное число, имеющее ровно два делителя — единицу и самого себя. Формат ввода Входные данные содержат одно целое число p (2 ≤ p ≤ 109+9, p — простое). Формат вывода Если пифагоровых треугольников с катетом длины p нет, выведите -1. Иначе выведите возможные длины гипотенуз треугольников, перечисленные в порядке возрастания (то есть от меньшей к большей). Пример Ввод Вывод 3 5 Примечания Пояснение к примеру: cуществует только один целочисленный прямоугольный треугольник с катетом равным 3 — классический пифагоров треугольник c длиной гипотенузы, равной 5. Решением к данной задаче является программа, написанная на одном из представленных в системе языков программирования. Программа должна считывать данные со стандартного потока ввода (иначе говоря, «с клавиатуры») и выводить ответ в стандартный вывод (иначе говоря, «на экран»). Выводить лишние символы (исключая пробелы и переводы строк) недопустимо, то есть если вместо ответа будет выведен ответ и после него (или перед ним) какое-то лишнее число или строка, то система ответ не зачтёт. Перед тем, как отправить написанную Вами программу, не забудьте указать язык программирования, на котором она написана. Выбор языка осуществляется с помощью выпадающего меню, расположенного сразу под этим текстом.


Информатика (262 баллов) | 2.0k просмотров
0

Что - то ничего не выпадает под этим текстом. На Питоне подойдет?

0

Да

0

Есть решение этой и 5 задачи?

0

Нет сам только их не сделал

0

Печаль(

Дано ответов: 2
0 голосов
Правильный ответ

PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var a:int64;

 Read(a);

 (a = 2 ? -1 : (a * a + 1) div 2).Println

end.

Пример

13

85

(654k баллов)
0

Поскольку я не понял, что означает число 109+9 (надо все же писать как следует), счел, что это 10^9+9. В этом случае квадрат такого числа не превысит 10^19 и типа int64 будет достаточно. Ели же это какое-то иное, большее число, нужно использовать тип BigInteger. Только и всего.

0 голосов

Если катет p - простое число, то решение всегда единственное.

На Питоне.

p=int(input())

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

print(n)




(9.7k баллов)
0

Пример приведите, где может быть несколько значений гипотенузы, если p - простое.

0

программа работает неправильно

0

пример пифагоровых троек с разными гипотенузами- 6,8,10 и 8, 15,17

0

нет 8 - не простое число

0

да, понимаю

0

но все равно не работает((

0

Ни 6, ни 8, ни 15 простыми не являются.

0

ща

0

Всего одну строку и надо поправить, при р=2 - не правильный ответ будет. Строку n=(p*p-1)//2+1 заменить на 2 строки if p==2: n= - 1 вторая else n=(p*p-1)//2+1

0

var p:integer;beginreadln (p);if (p=2)then writeln ('-1') elsewriteln ((p*p-1)/2+1);end.вот такая программа у меня, она неправильная, написала в сообщения, пишут типа такая фигня не действительна с большими числами. чо вот от нас хотят