社区
C语言
帖子详情
递归问题!!!!!
ilbj
2003-07-14 12:15:04
p=1+2!+3!+4!+...+(n-1)!+n!
如何用递归算法实现??
...全文
65
11
打赏
收藏
递归问题!!!!!
p=1+2!+3!+4!+...+(n-1)!+n! 如何用递归算法实现??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fixopen
2003-07-14
打赏
举报
回复
template<int i>
class FACTOR
{
public:
enum
{
RESULT = i * FACTOR<I-1>::RESULT
};
};
class FACTOR<1>
{
public:
enum
{
RESULT = 1
};
};
class SUM<int i>
{
public:
enum
{
RESULT = FACTOR<i>::RESULT + FACTOR<i - 1>::RESULT;
};
};
如果你非常注重性能的话,你可以使用上一方案。:)
hillyee
2003-07-14
打赏
举报
回复
fun(a)
{int a,b;
if(a==1) return b=1;
if(a>1)
{b=a*fun(a);
return b;
}
}
main()
{int sum=0,x,n;
printf("n=%d",n);
scanf("%d",&n);
for(x=1;x<=n;x++) sum+=fun(x);
printf("sum=%d",sum);
}
zteliubin
2003-07-14
打赏
举报
回复
理解不过来,就:
fact(n)
{
if(n==0) return 1;
return n*fact(n-1);
}
fact_sum(n)
{
if(n==1) return 1;
return fact(n)+fact_sum(n-1);
}
不过栈要求高得多!
sam1111
2003-07-14
打赏
举报
回复
sorry,
是fact_sum(0, 1, 1, n);
sam1111
2003-07-14
打赏
举报
回复
int fact_sum(int s, int f, int i, int n)
{
if(i > n)
return s;
s += fact_sum(s, f*i, i+1, n);
return s;
}
fact_sum(0, 1, 0, n);
ajoo
2003-07-14
打赏
举报
回复
fact_sum(s, f, i, n){
if(i>n) return s;
else return fact_sum(s+f, f*(i+1), i+1, n);
}
fact_sum(0, 1, 1, n);
晨星
2003-07-14
打赏
举报
回复
p = 1 + 2(1 + 3(1 + 4(1 + ……(1 + n) …… )))
ajoo
2003-07-14
打赏
举报
回复
fact_sum(f, i, n){
if(i>n) return f;
else return fact_sum(f*i, i+1, n);
}
fact_sum(1, 2, n);
bigtea
2003-07-14
打赏
举报
回复
如果要好理解的,那就是在n!的递规函数的基础上,构造递规,因为楼主的表达式直读也是这个意思。
long factorial(int n) /*n!的递规函数*/
{
if (n<2) return 1;
else return (factorial(n-1)*n);
}
long fac_sum(int n) /*楼主的表达式递规实现*/
{
if (n<2) return 1;
else return (fac_sum(n-1)+factorial(n)); /*p(n)=p(n-1)+n!*/
}
main()
{
int n;
scanf("%d",&n);
printf("%ld",fac_sum(n));
}
98440622
2003-07-14
打赏
举报
回复
#include "iostream.h"
int element(int n)
{
if (n == 0)
return 1;
else
return n * element(n - 1);
}
int value(int m)
{
if (m == 1)
return 1;
else
return element(m) + value(m - 1);
}
void main()
{
cout<<value(3)<<endl;
}
注意n值的范围:-)
lyff8neo
2003-07-14
打赏
举报
回复
同意 hillyee(山之笛)!仅限tc!
fun(a)
{int a,b;
if(a==1) return b=1;
if(a>1)
{b=a*fun(a);
return b;
}
}
main()
{int sum=0,x,n;
printf("n=%d",n);
scanf("%d",&n);
for(x=1;x<=n;x++) sum+=fun(x);
printf("sum=%d",sum);
}
但是这边的int sum=0,x,n;
printf("n=%d",n);需要修改,在这里n是随机的必然打出来n=0啊!所以在这里只要写成printf("n=%d");就行了,你这是画蛇添足了哦^_^
c++
递归
c++
递归
c++
递归
c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘...
八皇后
问题
递归
算法程序
八皇后
问题
,采用
递归
!!!!!!!!!!!!!!!!!!!!!!!
递归
入门、
递归
遍历、
递归
穷举算法
本课程带你从
递归
算法基础入手,课程是精讲大量实际项目中常用到的案例,课程深入浅出,包括
递归
入门,
递归
遍历、弟归穷举算法及各种项目,适合算法爱好者一起学习,后附每堂课项目源码,感兴趣可以观注博客,不定期...
acm
递归
算法总结竞赛
acm
递归
算法总结acm
递归
算法总结!!!!!!!!!!!!!!!!!!!!!!!
用Java集合
递归
实现通用树Tree
不要分,要的是人气!资源很给力的!欢迎下载!
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章