求最大公约数伪代码
1. 上网查找什么是求两个数的最大公约数的欧几里得算法(辗转相除法),提交算法说明和网上链接。
欧几里得算法(辗转相除法)是求两个数的最大公约数的经典算法。其基本思想是:用较大的数除以较小的数,然后用余数作为新的被除数,继续进行操作,直到余数为0,此时的除数即为最大公约数。
以下是该算法的网上链接:
https://en.wikipedia.org/wiki/Euclidean_algorithm
2. 参考教材,用伪代码(英语或汉语)实现欧几里得算法(辗转相除法),提交伪代码。
function gcd(a, b)
while b ≠ 0
temp = b
b = a mod b
a = temp
end while
return a
end function
3. 选择几组数据,手动走一下伪代码,测试你写的伪代码是否正确,提交测试过程截图。
include <stdio.h>
int main()
{
int data1, data2;
int data;
scanf("%d%d", &data1, &data2);
if (data1 > 0 && data2 > 0)//判断数据合法
{
if (data1 > data2)//将两个数据大小位置固定
{
int temp = data1;
data1 = data2;
data2 = temp;
}
data = data1 % data2;
while (data)
{
data1 = data2;
data2 = data;
data = data1 % data2;
}
printf("%d\n", data2);//最后结果保存在data2中
}
return 0;
}