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://scgulin.cn/article/ddodos.html