永发信息网

c++,用递归法求平方和,即1*1+2*2+3*3。。。

答案:6  悬赏:30  手机版
解决时间 2021-04-24 06:33

我是这样写的:#include <iostream>
using namespace std;
int dst(int x)
{int y;
y=x*x;
return y;
}
int main ()
{int sum,a=1,n;
cin>>n;
if(a<=n)
sum+=dst(a++);
cout<<sum;
return 0;
}

最佳答案

int dst(int x)


{if(x==1)


{


return 1;


}


else


{


return dst(x-1)+x*x;


}


}


这样才是递归函数。


主函数就


int main()


{


int sum,int n;


cin>>n;


sum=dst(n);


cout<<sum;


return 0;


}

全部回答

#include <iostream>

using namespace std;

int dst(int x) { int y; if(x==1) return x*x; else y=x*x+dst(x-1); return y; }

int main () { int sum,n; cout<<"putin:"; cin>>n; sum=dst(n); cout<<sum;

return 0; }

关键是没有循环语句,可以将:

if(a<=n) sum+=dst(a++); 改成:

sum=0;

for(a=1;a<=n;a++)

sum=sum+dst(a);

你用的这个不是递归法

你的原算法有一点儿问题:

if(a<=n) sum+=dst(a++); 应当改为:

sum=0;

for(int i=1; i<=n; ++i)

sum+=dst(i);

#include <iostream> using namespace std; int dst(int x) {int y; if(x==1)return 1; y=x*x; return y+dst(x-1); } int main () {int sum=0,n; cin>>n; sum+=dst(n); cout<<sum; return 0; }

#include <iostream> using namespace std; int dst(int x) {int y; y=x*x; return y; } int main () {int sum,a=1,n; cin>>n; sum=0;//sum赋初值 while(a<=n)//用while循环 sum+=dst(a++); cout<<sum; return 0; }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么去豆最有效
Windows XP 家庭版 Edition Build 2600 (Serv
西宁骏翔保安服务有限公司在什么地方啊,我要
这个衣服哪个淘宝店了有?
<刺鳃鲑鱼>
许嵩写《清明雨上》的背景是什么
关于五一劳动节的格言,小学五年级下册五一劳
广州有什么特产啊?
天津哪里学烹饪好啊?最后是西餐。要正规的
百度蜘蛛的爬行规律有哪些?
office 2007 运行速度怎么那么慢呢???
我该如何点亮地下城勇士图标
我的HP笔记本屏幕有点问题
jsp不能成功运行,有高手可以帮忙看下吗
关于西安的诗词,关于西安的诗词
推荐资讯
纯白的哈士奇大约多少钱一只(要刚断奶了的)
什么是系统,什么是软件系统?
男女间的性关系
为什么我的qq飞车一到服务器连接就消失了
万和电热水器地址有知道的么?有点事想过去
天龙八部上逍遥怎么加潜能?
柔道觉醒任务
为什么我卡不了水
为什么冬天这么冷?
QQ游戏有通用版的吗?
关于x的方程x2-mx+1=0在区间(0,1)上有唯一
小孩容易上火怎么调理,孩子经常上火怎么办?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?