用c++编程,用递归方法求 f(n)=1^2+2^2+3^2+……+n^2 n的值由主函数输入。
时间: 2024-12-08 08:20:05 浏览: 7
C++式子n^1+n^2+n^3+……+n^10计算
在C++中,递归方法用于计算序列 f(n)=1^2 + 2^2 + 3^2 + ... + n^2 可以通过下面的函数实现:
```cpp
#include<iostream>
using namespace std;
// 递归函数计算前n个平方和
int sum_of_squares(int n) {
if (n == 1) // 基础情况,当n等于1时,直接返回1
return 1;
else // 递归情况,n的平方加上(n-1)的平方
return n*n + sum_of_squares(n-1);
}
int main() {
int n;
cout << "请输入一个正整数n: ";
cin >> n;
if (n > 0) {
int result = sum_of_squares(n);
cout << "1^2 + 2^2 + 3^2 + ... + " << n << "^2 的和是: " << result << endl;
} else {
cout << "n必须是正整数" << endl;
}
return 0;
}
```
这个递归函数首先检查基本情况(n=1),然后每次递归都会将当前的n值乘以它自己,并加上上一次的结果(n-1的平方)。
阅读全文