| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2866 人关注过本帖
标题:求m和n的最大公约数,我写了一个递归函数,不知道为什么不行
取消只看楼主 加入收藏
文鹏
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2010-8-17
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:6 
求m和n的最大公约数,我写了一个递归函数,不知道为什么不行
// zui da gong yue shu
#include <stdio.h>

int aaa(int max,int min)
     {
        int i=max-min;
        
        if(i>min) aaa(i,min);
        if(i<min) aaa(min,i);
        if(i=min) return i;
     }
void main()
{
    int m,n;
    scanf("%d %d",&m,&n);
    int min=m;
    int max=n;
    if(m>n)
    {
        min=n;
        max=m;
   
    }
    int result=aaa(max,min);
    printf("%d",result);
     
}
求高手指点,如果想用递归函数解决,该怎么写
搜索更多相关主题的帖子: 递归 函数 最大公约数 
2010-08-19 11:00
文鹏
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2010-8-17
收藏
得分:0 
我想使用更相减损法来解决,我写的递归函数哪里出问题了?请高手指点
2010-08-19 11:17
文鹏
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2010-8-17
收藏
得分:0 
哦,知道了,加了两个return 可以了
int aaa(int max,int min)
     {
        int i=max-min;
        
        if(i>min) return aaa(i,min);
        if(i<min) return aaa(min,i);
        if(i=min) return i;


    //if(min) return aaa(min, max%min);
    //return max;

     }
2010-08-19 11:23
文鹏
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2010-8-17
收藏
得分:0 
哦 是不是C递归 有层数限制,太深了就完了
2010-08-19 11:27
文鹏
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2010-8-17
收藏
得分:0 
看来还是用辗转相除法好点
2010-08-19 11:28
文鹏
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2010-8-17
收藏
得分:0 
哪一个代码写错了,我验证了一下,怎么没有看出来
2010-08-19 14:37
文鹏
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2010-8-17
收藏
得分:0 
http://baike.baidu.com/view/255668.htm
2010-08-19 15:42
快速回复:求m和n的最大公约数,我写了一个递归函数,不知道为什么不行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029675 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved