Pascal语言的难题

来源:百度知道 编辑:UC知道 时间:2024/04/27 22:44:38
给出一个正整数N,你要寻找三个正整数X、Y、Z,满足X < Y < Z ≤ N ,并且满足勾股弦定理:X2 + Y2 = Z2 ,而且三个正整数X、Y、Z的最大公约数为1。
由键盘输入N(N ≤ 200),输出一个数,为满足上述要求的勾股弦数有多少组?
下面是答案

1 2 3 4 5
输入 3 31 50 130 200
输出 0 5 7 20 32
得分 3 3 3 4 4
要正确

测试数据全对
给我积分!!!!
var
x,y,z,n,i,s:longint;
function gcd(m,n:integer):integer;
begin
if n=0 then gcd:=m
else gcd:=gcd(n,m mod n);
end;
begin
s:=0;
readln(n);
for x:=1 to n do
for y:=1 to n do
for z:=1 to n do
if (((x*x)+(y*y))=(z*z)) and(gcd(x,y)=1)and(gcd(x,z)=1)and(gcd(y,z)=1) then
begin
s:=s+1;
end;
s:=s div 2;
writeln(s);
end.

现在的人很现实