用递归方法计算s=1+2+3+...+n

 我来答
帐号已注销
2021-02-18 · TA获得超过3134个赞
知道大有可为答主
回答量:4114
采纳率:0%
帮助的人:307万
展开全部

楼上都没有回答递归方法如何实现。

这里以fortran为例(不会C和C++等)。

以下是递归方法计算 s=1+2+...m 的fortran代码。供参考。

追答

补充一下:

这个算法虽然简单,但是对程循运行堆栈资源占用很大,变量rr和m加上函数地址每次递归调用都需要增加堆栈空间。默认编译只能算到1至3000,如需计算更大数值,需要在编译时调整堆栈大小。

如图:

这是计算到5000000的例子。

康乃馨lws

2021-02-11 · TA获得超过500个赞
知道小有建树答主
回答量:784
采纳率:91%
帮助的人:40.5万
展开全部
设S=n+(n一1)+…+3+2+1
S+S=(1+n)+(1+n)+…
+(1+n)
=n(1+n)
∴S=n(1+n)/2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电灯剑客
科技发烧友

2021-02-11 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1.2万
采纳率:83%
帮助的人:5414万
展开全部
比如说, n=0时s(n)=0, n>0时s(n)=s(n-1)+n.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式