pascal 题,输入5个正整数求它们的最大公约数.

问题描述:

pascal 题,输入5个正整数求它们的最大公约数.
另外,解决的方法最好用函数!
1个回答 分类:综合 2014-11-07

问题解答:

我来补答
主要有三个问题,一个是你的YUSHU函数应该用值参而不是用形参,就是说要把VAR去掉;还有就是你的循环体里A:=B是不对的,想一下,如果这样赋值,一进循环体,A,B就相等了,显然不对,应该定义一个中间变量T,先把a的值赋给T,再处理,防止A的值被覆盖;还有就是不知为什么突然冒出一个X.
修改如下
function gcd(a,b:longint):longint;
var
t:longint;
begin
repeat
t:=a;
a:=b;
b:=t mod b;
until b=0;
exit(a);
end;
还有一种递归的写法
function gcd(a,b:longint):longint;
begin
if b=0 then exit(a)
else exit(gcd(b,a mod b));
end;
 
 
展开全文阅读
剩余:2000
下一页:填词谢谢