Помогите написать программу, безотлагательно!!! на любом языке прогр. Даю 49 баллов!!!Ограничение

Помогите написать программку, безотлагательно!!! на любом языке прогр. Даю 49 баллов!!!
Ограничение медли 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод либо input.txt
Вывод стандартный вывод либо output.txt
Отыскать все вероятные значения длины гипотенузы в прямоугольном треугольнике с целыми гранями, если один из катетов имеет длину p, где p обычное число.

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

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

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

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

Решением к данной задаче является программка, написанная на одном из представленных в системе языков программирования. Программка обязана считывать данные со стандартного потока ввода (по другому разговаривая, с клавиатуры) и выводить ответ в стандартный вывод (по другому разговаривая, на экран).

Задать свой вопрос
2 ответа

var p:integer;

begin

readln (p);

if (p=2)then writeln ('-1') else

writeln ((p*p-1)/2+1);

end.


Любовь Розумович
не работает
Кира Чекон
с int64 вроде с большенными числами выводит, но все одинаково пишет типа ошибочное решение
Карина
А что неправильно? Для обычного катета существует ровно одна пифагорова тройка, всё верно написали.
Любовь Пашуренко
нужно int 64 и формулу (p*p-1)div2 + 1
Галина Вильмус
На для тебя на нормальном языке, и не мучься ерундой: javascript:var p=prompt();if(p==2)alert(-1);else alert((p*p-1)/2+10);
Ставрова Светлана
"0" даже излишнее тут.

var a,i:int64;

 x:double;

 s,l:string;

 begin

 readln(a);

 s:='';

 l:=s;

if (a+1) mod 4=0 then

i:=a+1

else

i:=a+3;

 while a*agt;=2*i+1 do begin

 x:=sqrt(i*i+a*a);

 if x-int(x)=0 then

 s:=s+FloatTostr(x)+' ';

 i+=4;

 end;

 if l=s then writeln('-1') else

 writeln(s);

 end.

Подбегаев Костик
выдает ошибку при компиляции((
Нелли Кобзаренко
а ты просто скопировала?
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт