华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1641|回复: 2
打印 上一主题 下一主题

递归法求最大公约数

[复制链接]

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
跳转到指定楼层
楼主
发表于 2014-10-20 11:01:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上次讲课的时候说到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. }
复制代码


回复

使用道具 举报

738

主题

1485

帖子

5420

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5420
沙发
 楼主| 发表于 2014-10-20 11:08:11 | 只看该作者
有同学画蛇添足的加上判断m和n的大小的语句,同学们想想,需要吗?
回复 支持 反对

使用道具 举报

4

主题

68

帖子

1592

积分

版主

Rank: 7Rank: 7Rank: 7

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

不需要吧,mod一次以后大数字就变成小数字了。
后面没写“return 0;”……
这个人很懒,不想写签名。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-7 01:32 , Processed in 1.532634 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表