| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 993 人关注过本帖, 1 人收藏
标题:递归问题 请教。。
只看楼主 加入收藏
Yoyo丶Paul
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:7
专家分:3
注 册:2010-8-29
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:13 
递归问题 请教。。
写一个函数用于计算1!+2!+3!+…+n!的值(使用函数递归完成)
搜索更多相关主题的帖子: 递归 
2010-08-29 11:20
S_12s
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:110
专家分:670
注 册:2010-7-21
收藏
得分:8 
程序代码:
#include<stdio.h>

int f(int n)
{
    int sum=1;
    if(n==1||n==0)
        sum*=1;
    else
        sum=n*f(n-1);
    return sum;
}

int main()
{
    int n,sum=0,i;
    scanf("%d",&n);
    for (i=1;i<n+1;i++)
        sum+=f(i);
    printf("%d\n",sum);
}

收到的鲜花
  • Yoyo丶Paul2010-08-30 00:30 送鲜花  3朵   附言:谢谢 貌似三楼错啦 这应该是直接出和的 ...
2010-08-29 11:40
qq181982453
Rank: 2
等 级:论坛游民
帖 子:45
专家分:16
注 册:2010-6-10
收藏
得分:0 
楼上的不对,只算出了n!
2010-08-29 11:47
encounter
Rank: 5Rank: 5
来 自:扬州
等 级:职业侠客
威 望:2
帖 子:150
专家分:359
注 册:2010-7-24
收藏
得分:0 
2楼已深得递归函数的精髓。。。

还考虑了0的情况
非常赞

[ 本帖最后由 encounter 于 2010-8-29 12:17 编辑 ]

ping   nbtstat   netstat   tracert    nat   at    ftp   telnet..................
2010-08-29 12:12
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:5 
//思路 你的那个价乘和可化成这种形式1*(1+2*(1+3*(1+4*(...)))
#include<iostream>
using namespace std;
int fun (int n)
{

    static int end = n + 1;
    static int i = n = 1; //倒过来还不会…,这是为了让 n 有且只有在第一次为1
    if(n == end) return 0;
   
    return n * (1 + fun(n+1));
}
int main()
{
    cout << fun(4);//结果33
    return 0;
}

迭代的是人,递归的是神。
2010-08-29 13:32
shinjam
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-29
收藏
得分:0 
回复 3楼 qq181982453
既然n!都有了,那个还不简单么!?
2010-08-29 16:03
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
1*(1+2*(1+3*(1+4*(...)))
对我来说太高深了。



—>〉Sun〈<—
2010-08-29 16:56
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
递归函数其实就是调用函数本身
2010-08-29 21:33
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:7 
递归嘛...
程序代码:
#include<stdio.h>
double s, x; int n, i;
int main(void)
{
    n?(i>=n?printf("%.0f\n",s):(s+=(x*=++i),main())):(scanf("%d",&n),s=i=x=1,main());
    return 0;
}
收到的鲜花
  • Yoyo丶Paul2010-08-30 00:24 送鲜花  3朵   附言:谢谢 但我只是初学者 n?(i&gt;=n?print ...

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2010-08-29 22:07
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
以下是引用卧龙孔明在2010-8-29 22:07:49的发言:

递归嘛...
 
#include
double s, x; int n, i;
int main(void)
{
    n?(i>=n?printf("%.0f\n",s):(s+=(x*=++i),main())):(scanf("%d",&n),s=i=x=1,main());
    return 0;
}
嘛嘛,玩main递归呀。。。。

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-29 22:12
快速回复:递归问题 请教。。
数据加载中...
 
   



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

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