多语言展示
当前在线:1924今日阅读:103今日分享:49

C语言——求最大公约数和最小公倍数的简单程序

求最大公约数的方法很多,很多网页上都有辗转相除法,不过感觉比一般算法难懂一些。小编写出一个简单易懂的算法,给大家分享一下。
算法
1

首先我们输入两个整数m和n,小的数赋值给m,大的数给n。

2

先找n的约数,用一个中间量i代替m,从i开始,如果n%i==0,则说明n,m的最大公约数就是m,否则执行第3步。

3

i自减1,再执行n%i,判断n%i==0,如果是说明n能被i整除;执行第4步,否则再次执行第3步。

4

判断m%i是否等于0,如果是说明n和m能同时被i整除,最大公约数为i;否则执行第3步。

5

最小公倍数比较容易求,只要两数相乘,然后除以最大公约数就可以得到。

代码

C具体代码:#include int main(){    int m,n,temp,i;    scanf('%d%d',&m,&n);    if(m>n)    { temp=m;m=n;n=temp; }    for(i=m;i>=0;i--)    if((n%i==0)&&(m%i==0))        {   printf('最大公约数=%d\n',i);            printf('最小公倍数=%d\n',m*n/i);            break;        }    return 0;}END

注意事项

当然还有其他算法,不过小编觉得这种算法通俗易懂。

推荐信息