递归求1*1+2*2+3*3+……+n*n

递归求1*1+2*2+3*3+……+n*n

时间: 1ms        内存:128M

描述:

定义一个递归函数sum,函数声明如下:
int sum(int n);    //函数声明,返回12+22+32+……+n2的和
在下面代码的基础上完成,提交时只提交sum的函数定义
#include <iostream>
#include <cmath>
using namespace std;
 
int sum(int n); //函数声明,求12+22+32+……+n2的和
 
int main()
{
   int n,s;
   cin>>n;
   s= sum(n) ;  //函数调用
   cout<<s<<endl;
   return 0;
}
 
注意:sum为递归函数

输入:

正整数n的值

输出:

12+22+32+……+n2的和

示例输入:

5

示例输出:

55

提示:

参考答案(内存最优[552]):

program p1000(Input,Output); 
var 
	a,b,i:integer;
begin 
	read(a);
	for i:=1 to a do
		b :=b+ i*i;
	writeln(b);
end.

参考答案(时间最优[0]):

#include <iostream>
#include <cmath>
using namespace std;
 
int sum(int n); //函数声明,求12+22+32+……+n2的和
 
int main()
{
   int n,s;
   cin>>n;
   s= sum(n) ;  //函数调用
   cout<<s<<endl;
   return 0;
}

int sum(int n) //函数d定义,求12+22+32+……+n2的和
{
  if(n==1)
	  return 1;
  if(n>1)
	  return  sum(n-1)+n*n;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注