c++求几个数的最大公约数_三种方法求最大公约数(c语言)仅供参考
1.相减法算法如下:(1)如果a>b,a=a-b;(2)如果a<b,b=b-a;(3)如果a=b,a或者b就是这两个数的最大公约数(4)如果a!=b,则再执行(1)或(2)。代码如下:int 2.辗转相除法算法如下:(1)对于已知的两个数a,b(2)a除以b余数r;(3)若r=0,则n就是所求的最大公约数,否则执行(4);(4)令a=b,b=r;重复执行(4);代码如下...
·
1.相减法
算法如下:
(1)如果a>b,a=a-b;
(2)如果a<b,b=b-a;
(3)如果a=b,a或者b就是这两个数的最大公约数
(4)如果a!=b,则再执行(1)或(2)。
代码如下:
int
2.辗转相除法
算法如下:
(1)对于已知的两个数a,b
(2)a除以b余数r;
(3)若r=0,则n就是所求的最大公约数,否则执行(4);
(4)令a=b,b=r;重复执行(4);
代码如下:
int xcf(int a,int b)
{
int r;
r=a%b;
while(r!=0)
{
a=b;
b=r;
r=a%b;
}
return b;
}
3.穷举法
算法如下:
(1)定义c;
(2)如果a>b,则c=b;
(3)如果a<b,则c=a;
(4)如果a%c!=0||b%c!=0,则执行c--;
(5)如果a%c==0||b%c==0,则c为最大公约数
代码如下:
int qjf(int a,int b)
{
int c;
if(a>b)
c=b;
else if(a<b)
c=a;
while(a%c!=0||b%c!=0)
{
c--;
}
return c;
}
————————————————
版权声明:本文为CSDN博主「我爱吃香菜」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41708149/article/details/81189176
更多推荐
所有评论(0)