Дано натуральное число n. среди чисел 1, найти все те, которые можно представить в виде суммы квадратов двух натуральных чисел. определить процедуру, позволяющую распознавать полные квадраты.
uses crt; procedure Kvadr(n:longint; var f:boolean); begin if frac(sqrt(n))=0 then f:=true else f:=false; end; var i,j,n,k:longint; fj,fk:boolean; beginclrscr; write('n='); readln(n); for i:=2 to n do for j:=1 to i div 2+1 do for k:=1 to i do begin Kvadr(j,fj); Kvadr(k,fk); if fj and fk and(j+k=i) then writeln(i,'=',j,'+',k); end; readln; end.
procedure Kvadr(n:longint; var f:boolean);
begin
if frac(sqrt(n))=0 then f:=true
else f:=false;
end;
var i,j,n,k:longint;
fj,fk:boolean;
beginclrscr;
write('n=');
readln(n);
for i:=2 to n do
for j:=1 to i div 2+1 do
for k:=1 to i do begin
Kvadr(j,fj);
Kvadr(k,fk);
if fj and fk and(j+k=i) then writeln(i,'=',j,'+',k);
end;
readln;
end.