回 帖 发 新 帖 刷新版面

主题:求两个数的公约数

怎么求两个数的公约数?无限感激!

回复列表 (共7个回复)

沙发

首先弄清楚两个数的公约数的定义吧!把这个弄明白了,我想就不难了吧!

板凳


我有编过一个,但老是错误,你能帮我编一个吗?Many thanks!

3 楼

可以这样写:
int GCD(int a,int b)
{
  if(a>b)
  {
   int temp=a;
   a=b;
   b=temp;
  }
  if(b%a==0)
  {
   return a;
  }
  else return GCD(a,b%a);
}
这是个递归的写法,还有很多种写法。

4 楼


int gcd(int m,int n)
{
  if(n == 0)
     return m;
  return gcd(n,m % n);
}

5 楼

这种方法确实没想过!谢啦!

6 楼


{int a,b,n,m,gcd;
  scanf("%d,%d",&a.&b);
  if(b>a)
  {n=a;
   a=b;
   b=n;
  }
  while((m=a%b)!=0)
  {a=b;
   b=m;
  }
  gcd=m;
  printf("%d\n",gcd);
}
我也是新手哦,大家要扶我一把哦,谢了!!!

7 楼

[quote]
int gcd(int m,int n)
{
  if(n == 0)
     return m;
  return gcd(n,m % n);
}[/quote]
这个很厉害[em5]

我来回复

您尚未登录,请登录后再回复。点此登录或注册