永发信息网

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

答案:6  悬赏:30  手机版
解决时间 2021-04-24 06:33
  • 提问者网友:沉默的哀伤
  • 2021-04-24 02:50

我是这样写的:#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;
}

最佳答案
  • 五星知识达人网友:骨子里都是戏
  • 2021-04-24 04:00

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;


}

全部回答
  • 1楼网友:狂恋
  • 2021-04-24 09:30

#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; }

  • 2楼网友:鸽屿
  • 2021-04-24 08:47

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

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

sum=0;

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

sum=sum+dst(a);

  • 3楼网友:污到你湿
  • 2021-04-24 07:31

你用的这个不是递归法

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

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

sum=0;

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

sum+=dst(i);

  • 4楼网友:街头电车
  • 2021-04-24 06:40
#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; }
  • 5楼网友:鸠书
  • 2021-04-24 05:04

#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; }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯