c语言求最大公约数,C语言求最大公约数函数

  • 生活
  • 2023-05-30 10:42

今天给各位分享c语言求最大公约数的知识,其中也会对C语言求最大公约数函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

如何用C语言求两个数的最大公约数的三种算法

1、相减法

#includelt;stdio.hgt;

intmain()

{

inta,b;

intc=0;//计数器

while(1)//循环判断的作用

{

printf("输入两个数字求最大公约数:");

scanf("%d%d",a,b);

while(a!=b)

{

if(agt;b)

a=a-b;

else

b=b-a;

c++;

}

printf("最大公约数是:%d ",a);

printf("%d ",c);

}

return0;

}

运行效果:

2、辗转相除法:

#includelt;stdio.hgt;

inta,b,temp;

intDivision(){

printf("请输入两个数(a,b): ");

scanf("%d,%d",a,b);

if(alt;b){

temp=a;

a=b;

b=temp;

}

while(a%b!=0){

temp=a%b;

a=b;

b=temp;

}

printf("最大公约数为:%d ",b);

return0;

}

3、穷举法

#includelt;stdio.hgt;

intmain()

{

inta,b,c;

intd=0;//计数器

while(1)

{

printf("输入两个数字求最大公约数:");

scanf("%d%d",a,b);

c=(agt;b)?b:a;//三目运算符

while(a%c!=0||b%c!=0)

{

c--;

d++;

}

printf("最大公约数是:%d ",c);

printf("%d ",d);

}

return0;

}

C语言程序设计如何求最大公约数

最大公约数算法:

(1)辗转相除法

两整数a和b:

①a%b得余数c

②若c=0,则b即为两数的最大公约数,结束

③若c≠0,则a=b,b=c,再回去执行①

(2)相减法

两整数a和b:

①若ab,则a=a-b

②若ab,则b=b-a

③若a=b,则a(或b)即为两数的最大公约数,结束

④若a≠b,则再回去执行①

(3)穷举法:

①i=ab中的小数

②若a,b能同时被i整除,则i即为最大公约数,结束

③i--,再回去执行②

c语言求最大公约数

1、新建一个C语言源程序,这里使用VisualC++6.0的软件:

2、从键盘中输入两个正整数a和b。取两个数a,b中的较小值存放到变量n中。从两个数a和b中的较小数开始逐个减小1,寻找能整除a和b的整数,第一个找到的整数即整数a和b的最大公约数,最后将找到的结果输出即可完成程序的编写:

3、对源程序编译运行,测试输入4、6,得到最大公约数2说明程序是正确的,以上就是用c语言求最大公约数的过程:

关于c语言求最大公约数的内容到此结束,希望对大家有所帮助。

猜你喜欢