求最小公倍数与最大公约数

来源:互联网 发布:网络知识竞赛的网址 编辑:程序博客网 时间:2024/05/19 01:33

最大公约数是指两个数相同因子总最大的那个,比如35和42,最大公倍数是7。要求最大公倍数,最常用的算法是辗转相除法,详见下面的代码;

最小公倍数是指两个数共有的倍数中最小的那个,比如35和42,最小公倍数是210,6和12,最小公倍数是12。两个数如果有最大公约数的话,他们的最小公倍数就是他们的乘积处以他们的最大公约数,如果没有最大公约数,那他们的最小公倍数就是他们的乘积。

#include <stdio.h>#include<math.h>int main(){    int a,b,m,n,temp;//a为最小公倍数,b为最大公约数                     //m,n是输入的两个数.    scanf("%d %d",&m,&n);//输入两个数    if(m<n)    {        temp=m;        m=n;        n=temp;    }    a=m*n;    while(n!=0)    {        temp=m%n;        m=n;        n=temp;    }    b=m;    a=a/b;    printf("最大公约数:%d\n",b);    printf("最小公倍数:%d\n",a);    return 0;}


0 0
原创粉丝点击