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

今天给各位分享c语言求更大公约数的知识 , 其中也会对C语言求更大公约数函数进行解释 , 如果能碰巧解决你现在面临的问题 , 别忘了关注本站 , 现在开始吧!
1如何用C语言求两个数的更大公约数的三种算法1、相减法
#includelt;stdio.hgt;
int main()
{
int a,b;
int c=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\n",a);
printf("%d\n",c);
}
return 0;
}
运行效果:
2、辗转相除法:
#includelt;stdio.hgt;
int a,b,temp;
int Division(){
printf("请输入两个数(a,b):\n");
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\n",b);
return 0;
}
3、穷举法
#includelt;stdio.hgt;
int main()
{
int a,b,c;
int d=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\n",c);
printf("%d\n",d);
}
return 0;
}
2C语言程序设计如何求更大公约数更大公约数算法:
(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= a b中的小数
② 若a , b能同时被i整除 , 则i即为更大公约数 , 结束
③ i-- , 再回去执行②

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

文章插图
3c语言求更大公约数1、新建一个C语言源程序 , 这里使用Visual C++6.0的软件:
2、从键盘中输入两个正整数a和b 。取两个数a,b中的较小值存放到变量n中 。从两个数a和b中的较小数开始逐个减小1 , 寻找能整除a和b的整数 , 之一个找到的整数即整数a和b的更大公约数 , 最后将找到的结果输出即可完成程序的编写:
3、对源程序编译运行 , 测试输入4、6 , 得到更大公约数2说明程序是正确的 , 以上就是用c语言求更大公约数的过程:
【c语言求更大公约数,C语言求更大公约数函数】关于c语言求更大公约数的内容到此结束 , 希望对大家有所帮助 。

    推荐阅读