C语言--辗转相除法求最大公约数和最小公倍数
2014-07-22 10:52
375 查看
原来一直用的比较两数大小,再用除法或乘法比较,挺麻烦的,用辗转相除较简单
求最大公约数和最小公倍数的经典算法--辗转相除法描述如下:
若要求a,b两数的最大公约数和最小公倍数,令a为a、b中较大数,b为较小数,算法进一步流程:
while(b不为0)
{
temp=a%b;
a=b;
b=temp
}
最后a即为两数的最大公约数,最小公倍数为: a*b/最大公约
c语言代码:
求最大公约数和最小公倍数的经典算法--辗转相除法描述如下:
若要求a,b两数的最大公约数和最小公倍数,令a为a、b中较大数,b为较小数,算法进一步流程:
while(b不为0)
{
temp=a%b;
a=b;
b=temp
}
最后a即为两数的最大公约数,最小公倍数为: a*b/最大公约
c语言代码:
int divisor (int a,int b) /*自定义函数求两数的最大公约数*/ { int temp; /*定义整型变量*/ if(a<b) /*通过比较求出两个数中的最大值和最小值*/ { temp=a; a=b; b=temp; } /*设置中间变量进行两数交换*/ while(b!=0) /*通过循环求两数的余数,直到余数为0*/ { temp=a%b; a=b; /*变量数值交换*/ b=temp; } return a; /*返回最大公约数到调用函数处*/ } int multiple (int a,int b) /*自定义函数求两数的最小公倍数*/ { int temp; temp=divisor(a,b); /*调用自定义函数,求出最大公约数*/ return (a*b/temp); /*返回最小公倍数到主调函数处进行输出*/ }
相关文章推荐
- 更相损减法和辗转相除法 求最大公约数和最小公倍数(C语言)
- C语言--辗转相除法求最大公约数和最小公倍数
- 【c语言】用辗转相除法求最大公约数和最小公倍数
- 用辗转相除法求最大公约数和最小公倍数
- 求最小公倍数,最大公约数(辗转相除法)
- 求最大公约数,最小公倍数,辗转相除法
- 欧几里德算法(辗转相除法)求最大公约数和最小公倍数
- 辗转相除法:求最大公约数和最小公倍数
- c语言求两个数的最大公约数和最小公倍数
- 辗转相除法求最大公约数和最小公倍数
- C/C++辗转相除法 --- 求两个数的最大公约数和最小公倍数
- 辗转相除法求最大公约数最小公倍数
- 辗转相除法(欧几里得)求最大公约数和最小公倍数
- 用辗转相除法求最大公约数和最小公倍数(附Java源码)
- C语言求最大公约数和最小公倍数
- 奇葩的求最大公约数、最小公倍数、分解质因数的做法(C语言)
- //防止数据溢出先除再乘//辗转相除法求最大公约数最小公倍数------一I
- 辗转相除法(求最大公约数,最小公倍数)
- 辗转相除法求最大公约数和最小公倍数
- C语言求两个数的最大公约数和最小公倍数