C语言:输入两个数,用辗转相除法计算它们的最大公约数-创新互联

“辗转相除法”:又名欧几里德算法,是求大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的大公约数,那么最后的除数就是这两个数的大公约数。举个例子吧:86和54

渭南ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

86/54=1余32

54/32=1余22

32/22=1余10

22/10=2余2

10/2=5余0

所以大公约数为2.

本题的代码如下,大家有更好的可以指点出来

#includeint swap(int a, int b)
{
	int t = a;
	a = b;
	b = t;
}

int gcd(int x, int y)
{
	if (x< y) swap(x, y);
	if (x % y == 0)
		return y;
	else return gcd(y,x%y );
//用辗转循环来得出答案
}

int main()
{
	int a, b, c = 1,t;
	printf("请输入两个整数:");
	scanf_s("%d%d", &a, &b);
//这几行代码大家可以参考一下,如果不用函数来做
	///if (a< b) { t = a; a = b; b = t; }
	//while (c!=0 )
	//{
	//	c = a % b;
	//	a = b;
	//	b = c;
	//}
	printf("大公约数为:%d",gcd(a,b) );
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:C语言:输入两个数,用辗转相除法计算它们的最大公约数-创新互联
地址分享:http://myzitong.com/article/ddodos.html