虽然学C语言好像还好多年了,实际却从没有认真学过,现在开始重新学习,才感觉到自己欠缺太多。
关于求两个数m,n的最大公约数问题。
网上查询了一下资料,讲到的求最大公约数的最经典的算法——欧几里德算法,也叫做辗转相除法吧。
大概思路是这样的:
欲求两个正整数m,n的最大公约数gcd(m,n):
r = m %n;
m = n;
n = r;
如此辗转相除,直到最后r=0,返回n值,为其最大公约数。怎么感觉还是没说明白清楚。
附个C代码方便自己以后看吧:
放以后自己回头来看看吧
虽然学C语言好像还好多年了,实际却从没有认真学过,现在开始重新学习,才感觉到自己欠缺太多。
关于求两个数m,n的最大公约数问题。
网上查询了一下资料,讲到的求最大公约数的最经典的算法——欧几里德算法,也叫做辗转相除法吧。
大概思路是这样的:
欲求两个正整数m,n的最大公约数gcd(m,n):
r = m %n;
m = n;
n = r;
如此辗转相除,直到最后r=0,返回n值,为其最大公约数。怎么感觉还是没说明白清楚。
附个C代码方便自己以后看吧:
放以后自己回头来看看吧