Сумма 2 квадратов написать программу определяющую возможность представления заданного натурального числа n в виде суммы двух квадратов натуральных чисел
Вот программа , если мы хотим сложить 2 квадрата одного числа
program sqr;
var n,a: integer;
begin
write (Введите число>>);
read (n);
a:= n*n+n*n;
writeln (a)
end.
Но если мы хотим выразить 1 число в виде суммы 2-х квадратов и проверить возможно ли это, то (боюсь ошибиться)
program sqr;
uses crt;
var n: integer; a,b:real;
begin
write (Введите число>>);
read (n);
a:= sqrt(n);
if (a= sqrt(n)) and (a=(n*n)) then
begin
b:= sqrt(a);
if b= (a*a)+(a*a) then
writeln (Можно);
if b<> (a*a)+(a*a) then
writeln (Нельзя);
end;
if (a= sqrt(n)) and (a<>n*n) then
writeln (Нельзя)
end.
Оцени ответ
