C++简单编程递归函数

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:50:36
#include<iostream>

using namespace std;

int squares(int n);

int main()
{ int n;

cout<<"请输入一个数字";

cin>>n;

cout<<"各个数字的平方和是"<<squares(n);比如输入3应该返回1的平方加二的平方加三的平方=14;

return 0;
}

int squares(int n)
{
if(n<=1)
return (1);
else
return (squares(n-1)+n*n);

}高手帮我看下这比如我输入一个3
squares(2)+3*3 (暂停)
squares(1)+2*2 (停)
1
开始解码后应该是这样吧1*(1+2*2)*(1+3*3)!!!!这题的14怎么来的呢?

squares(3)=squares(2)+3*3
squares(2)=squares(1)+2*2
squares(1)=1

这样应该没问题了吧。

比如输入的是3,squeres(n-1)+n*n=squeres(3-1)+3*3=squeres(1)+2*2+3*3=1+2*2+3*3 = 14.

里面写得很清楚了

1的平方 + 2的平方 + 3的平方 = 1 + 4 + 9 =14

开始解码后应该是3*3+2*2+1即14