社区
C语言
帖子详情
递归问题!!!!!
ilbj
2003-07-14 12:15:04
p=1+2!+3!+4!+...+(n-1)!+n!
如何用递归算法实现??
...全文
68
11
打赏
收藏
递归问题!!!!!
p=1+2!+3!+4!+...+(n-1)!+n! 如何用递归算法实现??
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!c++
递归
阶乘 n!
两个
递归
实现1!+2!+....+n!
递归
阶乘 求和 用两个
递归
实现1!+2!+3!+。。。+n! 对新手有帮助!
递归
示例(阶乘)--采用
递归
实现的阶乘!!!!!!!!!!!!!!!!
阶乘(用
递归
实现)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
八皇后
问题
递归
算法程序
八皇后
问题
,采用
递归
!!!!!!!!!!!!!!!!!!!!!!!
一个简单的C程序
递归
方法求5!
递归
方法求5! 这是一个小程序,程序中编写了
递归
方法求5! 希望对大家有所帮助!
C语言
70,021
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章