主题:[讨论]pascal问题一则
access
[专家分:0] 发布于 2006-09-29 20:48:00
[color=FF0000]求出200以内的勾股数:如32+42=52 怎么做哦~在线等结果[/color]
[fly]拜托各位大哥大姐了~[em4][em4][em4][em4][/fly]
回复列表 (共10个回复)
沙发
access [专家分:0] 发布于 2006-09-29 20:51:00
怎么就没有人帮忙呢? 心都冷了……
顺便再提出一个问题
歌德巴赫猜想:一个充分大的偶数,可以分成两个素数的和。(变成实现 pascal)
板凳
xabcxyz [专家分:940] 发布于 2006-10-01 07:29:00
先声明语法可能不太对,不看语法参考记不住,你自己改语法
var
integer i, j, k;
begin
for i:=1 to 200 do begin
for j:=1 to 200 do begin
k := sqrt(i*i+j*j);
if k*k = i*i + j*j then printf(.........);
end;
end;
end;
4 楼
dorremon1992 [专家分:870] 发布于 2006-10-02 19:35:00
1.
Var i,j,k:integer;
Begin
for i:=1 to 60 do
for j:=1 to 60 do
for k:=1 to 60 do
if (i*i+j*j=k*k)or(i*i+k*k=j*j)or(j*j+k*k=i*i)then
writeln(i:4,j:4,k:4);
End.
5 楼
dorremon1992 [专家分:870] 发布于 2006-10-02 19:41:00
2.注:是大于6的偶数
Function Judge(n:integer):boolean;
Var i:integer;
Begin
Judge:=true;
for i:=2 to Trunc(Sqrt(n))do
if n mod i=0 then begin
Judge:=false;
exit;
end;
End;
Var n,i,j:integer;
Begin
readln(n);
for i:=1 to n-1 do
for j:=1 to n-i do
if (Judge(i))and(Judge(j))then begin
writeln(i,' ',j);
halt;
end;
End.
6 楼
wangshl888 [专家分:0] 发布于 2006-10-04 15:04:00
初学pascal 加群28276316
7 楼
waglongjuanfeng [专家分:90] 发布于 2006-10-05 01:03:00
利用基本勾股数组 m^2+n^2,m^2-n^2,2mn {m,n互素}
function husu(a,b:integer):boolean; {判断m,n是否互素}
while a<>b do if a>b then a:=a-b
else b:=b-a;
if a=1 then husu:=true
else husu:=false;
end;
var m,n,t1,t2,c:integer;
begin
for m:=1 to 14 do {trunc[sqrt(200)]}
for n:=1 to trunc(sqrt(200-sqr(m))) do
begin if husu(m,n) then
writeln(sqr(m)-sqr(n),2*m*n,sqr(m)+sqr(n))
t1:=2;
while sqr(t1*m)+sqr(t1*n)<=200 do
begin
writeln(sqr(t1*m)-sqr(t1*n),2t1*t1*m*n,sqr(t1*m,t1*n);
inc(t1);
end;
end;
end;
end.
8 楼
zjsyzhong [专家分:520] 发布于 2006-11-30 12:44:00
循环+判断喽! 套嵌一个
9 楼
zhangyuan [专家分:630] 发布于 2006-12-06 16:35:00
3 4 5
10 楼
zhangyuan [专家分:630] 发布于 2006-12-06 16:59:00
[quote]循环+判断喽!
[/quote]
[fly]套嵌一个[/fly]
[flash]http://cctv[/flash]
我来回复