美文网首页
这么重要的算法 你了解了吗[算法]c语言 辗转相除法

这么重要的算法 你了解了吗[算法]c语言 辗转相除法

作者: VvVZz | 来源:发表于2019-04-30 11:16 被阅读0次

#include <stdio.h>

//辗转相除法算两个数的最大公约数

/*(eg18 12)

m        n        t

18    12

12        6        6

6        0        0

*/

int main(void)

{

    int m,n,t;

    scanf("%d%d",&m,&n);

    while(n!=0)

    {

        t=m%n;

        m=n;

        n=t;

        printf("m=%d,n=%d,t=%d\n",m,n,t);

    }

    printf("%d",m);

  return 0;

}

#include <stdio.h>

#include <stdlib.h>

int yue(int a,int b);

int bei(int a,int b);

int yue(int a,int b)

{

    int r;

    while((r=a%b)!=0)

    {

        a=b;

        b=r;

    }

    return b;

}

int bei(int a,int b)

{

    int c;

    c=a*b/yue(a,b);

    return c;

}

int main()

{

    int a,b,c,d;

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

    c=bei(a,b);

    d=yue(a,b);

    printf("最大公约数为%d\n",d);

    printf("最小公倍数为%d\n",c);

    return 0;

}

相关文章

网友评论

      本文标题:这么重要的算法 你了解了吗[算法]c语言 辗转相除法

      本文链接:https://www.haomeiwen.com/subject/unpmnqtx.html