华师一附中OI组

标题: 递归法求最大公约数 [打印本页]

作者: admin    时间: 2014-10-20 11:01
标题: 递归法求最大公约数
上次讲课的时候说到gcd(a,b)=gcd(b,a%b);有同学写出了递归的方法,我也写了一个,大家看看,学习一下这种思维方式。
  1. #include <iostream>
  2. using namespace std;
  3. int m,n;
  4. int gcd(int m,int n)
  5. {
  6.     if (n==0) return m;
  7.     else return gcd(n,m%n);
  8. }
  9. int main()
  10. {
  11.     cin>>m>>n;
  12.     cout<<gcd(m,n);
  13. }
复制代码



作者: admin    时间: 2014-10-20 11:08
有同学画蛇添足的加上判断m和n的大小的语句,同学们想想,需要吗?
作者: hr567    时间: 2014-10-20 21:33
本帖最后由 hr567 于 2014-10-20 21:34 编辑
admin 发表于 2014-10-20 11:08
有同学画蛇添足的加上判断m和n的大小的语句,同学们想想,需要吗?

不需要吧,mod一次以后大数字就变成小数字了。
后面没写“return 0;”……





欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2