| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3258 人关注过本帖, 3 人收藏
标题:今天无意中发现的一个很优美的递归
只看楼主 加入收藏
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:30 
能被小曹称赞为优美,很想看看它是个什么样子。

也凑个热闹,不过我这段代码还当不起优美二字,只当是块砖吧。
程序代码:
#include<stdio.h>

void cal(int a, int b, int c, int d, int n)
{
    int e, f, t, t1, t2;
   
    if(n <= 0) return;
    e = a * n / b + 1;
    f = n;
    if(e * d >= c * f){ cal(a, b, c, d, n - 1); return;}
   
    for(t1 = e, t2 = f; t = t1 % t2; t1 = t2, t2 = t);
    e /= t2;
    f /= t2;
   
    cal(a, b, e, f, n);
    printf("%d/%d\n", e, f);
    cal(e, f, c, d, n);
}

int main()
{
    cal(1, 2, 2, 3, 10);
    return 0;
}


重剑无锋,大巧不工
2012-12-19 08:18
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:10 
程序代码:
/*输入两个最简分数a/b,c/d,求出所有分母<=n的介于两个分数之间的最简分数,保证a/b<c/d;

比如输入a=1,b=2,c=2,d=3,n=10

输入

 5/9

 4/7

 3/5

 5/8*/
#include<stdio.h>
int common(int x,int y)
{
    int i;
    for(i=2;i<=(x<y?x:y);++i)
        if(x%i==0&&y%i==0)
            return 0;
    return 1;
}
int main()
{
    double a=1.0,b=2.0;
    double c=2.0,d=3.0;
    double n=10;
    double i,j;
    for(i=1.0;i<=n;++i)
        for(j=1.0;j<i;++j)
            if(common(i,j)&&(j/i)>(a/b)&&(j/i)<(c/d))
                printf("%f/%f\n",j,i);
}

木有排序。。。

[ 本帖最后由 核晴核理 于 2012-12-19 13:07 编辑 ]
2012-12-19 09:30
c语言DYY
Rank: 2
等 级:论坛游民
帖 子:51
专家分:44
注 册:2012-10-21
收藏
得分:0 
学习
2012-12-19 10:38
洪荒一鼎
Rank: 2
等 级:论坛游民
帖 子:34
专家分:46
注 册:2012-6-27
收藏
得分:0 
回复 楼主 czz5242199
lz对输出时相同的分数是叠加还是覆盖

不知道,不懂,知道,了解,懂,精通
2012-12-19 11:24
洪荒一鼎
Rank: 2
等 级:论坛游民
帖 子:34
专家分:46
注 册:2012-6-27
收藏
得分:0 
好吧我没看清!应该是覆盖了

不知道,不懂,知道,了解,懂,精通
2012-12-19 11:26
zhangfudong
Rank: 4
等 级:业余侠客
帖 子:119
专家分:212
注 册:2012-12-12
收藏
得分:0 
我是来蹭分滴
2012-12-19 11:31
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:0 
看在分的面子上,叫声好帖,其它的俺不懂!
2012-12-19 13:08
木楚
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2012-11-5
收藏
得分:0 
我还没学懂递归呢
2012-12-19 13:40
lupeifeng123
Rank: 2
等 级:论坛游民
帖 子:74
专家分:47
注 册:2012-12-13
收藏
得分:0 
学习了

一步一个脚印,贵在坚持。
2012-12-19 13:43
马群
Rank: 1
来 自:陕西西安
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-12-18
收藏
得分:0 
这递归有何优美之说...

虚心学习代码,做新好少年~啦啦啦~
2012-12-19 13:54
快速回复:今天无意中发现的一个很优美的递归
数据加载中...
 
   



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

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