2021-11-09

c中用辗转相除法和递归函数求解最大公约数

辗转相除法

#include "stdio.h"
int lcm2(int a,int b)
{
    int i ,r ;
    r=a%b;
    while(r!=0)
{
    a = b;
    b = r;
    r = a%b;
}
   return b;
}
int main()
 {
   int m ,n;
   scanf("%d%d",&m,&n);
   printf("%d",lcm2(m,n));
   return 0;
}

 递归函数

#include "stdio.h"
int gcd(int a,int b)
{
    if(a==b)
       return a;
    else
    {
        if(a>b)
          return gcd(a-b,b);
        else
          return gcd(a,b-a);
    }
}
int main()
{
    printf("%d",gcd(50,15));
    return 0;
}
 

上一篇:线性编程09--读txt文件


下一篇:数据结构—09:动态规划