pascal语言 循环语句 求任意两个正整数的所有公约数

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:51:38
从键盘读入任意两个正整数a,b,在屏幕上打印a和b的所有公约数,并从大到小顺序输出。

(所谓公约数是指即能整除a,又能整除b的正整数)

var
i,a,b,c:longint;
begin
readln(a,b);
if a>b then c:=a else c:=b;
for i:=1 to c do
if (a mod i=0)and(b mod i=0) then write(i,' ');
writeln;
end.

var a,b,c:integer;
begin
readln(a,b);
if a<b then begin
c:=a;
a:=b;
b:=c;
end;
write(1,' ');
for c:=2 to b do
if(a mod c=0)and(b mod c=0)then write(c,' ');
readln;
end.

没有说数据范围,岂不是问题不全。
那就很简单了
那两个人说的都对