求最大公约数伪代码

发布时间 2023-11-05 21:56:23作者: 20231304王星婷

求最大公约数伪代码

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;

}