c语言中最大公约数程序……求最小公约数……为什么报错

C语言求最大公约数和最小公倍数算法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
C语言求最大公约数和最小公倍数算法
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢C语言中最大公约数求法
从键盘输入两个整数,输出器最大公约数及最小公约数。
法一:穷举法#include&stdio.h&main(){&& int m,n,i;&& scanf("%d%d",&m,&n);&& for(i=m;;i--)&&&&&& if(m%i==0&&n%i==0)&& printf("%d,%d
",i,m*n/i);}---------------------------------------#include&stdio.h&main(){&& int m,n,t,i;&& scanf("%d%d",&m,&n);&& for(i=1;i&=(m&n?m:n);i++)&&&&& if(!(m%i)&&!(n%i)) t=i;&& printf("%d,%d
",t,m*n/t);}法二:辗转相除法#include&stdio.h&main(){int m,n,t,r;scanf("%d%d",&m,&n);r=m*n;t=m%n;while(t){m=n;n=t;t=m%n;}printf("%d,%d
",n,r/n);}分析:40%32=8;32%8=0;故最大公约数为8最小公倍数40*32/8=160
法四:相减法
#include&stdio.h&
main(){int m,n,r;scanf("%d%d",&m,&n);r=m*n;while(m!=n)if(m&n) m=m-n;else n=n-m;printf("%d,%d
",m,r/m);}分析:40-32=8;32-8=24;24-8=16;16-8=8;8=8=0;由于本人条件有限,借别人电脑,故只作简单分析,如有不懂,请自行查阅资料。如有错误,请指出}

我要回帖

更多关于 c语言中最大公约数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信