使用 C++ 计算平方和

C++C++Beginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将学习如何编写一个 C++ 程序,使用两种不同的方法来计算级数 1^2 + 3^2 + 5^2 + ... + n^2 的和。我们将逐步引导你,帮助你理解整个过程。

创建一个新的 C++ 文件

首先,我们需要创建一个新的 C++ 文件。打开终端并导航到 ~/project 目录。在这里,我们将创建一个名为 main.cpp 的新文件。

cd ~/project
touch main.cpp

使用第一种方法编写代码

在这里,我们将使用第一种方法编写程序。在这种方法中,我们将使用一个 for 循环遍历从 1 到 n 的奇数,并将它们的平方加到 sum 变量中。

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum=0;
    for(int i=1;i<=n;i+=2){
      sum+=(i*i);
    }
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

代码解释:

  • 首先,我们包含必要的头文件。
  • 然后我们编写一个名为 pattern_sum 的函数,该函数接受一个整数 n 作为输入并返回级数的和。
  • 在函数内部,我们将一个名为 sum 的变量初始化为 0。
  • 我们使用一个从 1 开始、步长为 2 的 for 循环来获取奇数,并将它们的平方加到 sum 变量中。
  • 最后,我们返回 sum。
  • main() 函数中,我们要求用户输入所需的项数,并将值存储在 num 变量中。
  • 我们通过调用 pattern_sum() 函数并传入用户的输入来打印级数的和。

使用第二种方法编写代码

在这里,我们将使用第二种方法编写程序。在这种方法中,我们使用数学公式来计算级数的和。

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum;
    sum = ( ((2 * n) - 1) * (((2 * n) - 1)+ 1) * ( ( 2 * ((2 * n) - 1) ) + 1 ) ) / 6;
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

代码解释:

  • 首先,我们包含必要的头文件。
  • 然后我们编写一个名为 pattern_sum 的函数,该函数接受一个整数 n 作为输入并返回级数的和。
  • 在函数内部,我们使用数学公式来计算级数的和,并将其存储在 sum 变量中。
  • 最后,我们返回 sum。
  • main() 函数中,我们要求用户输入所需的项数,并将值存储在 num 变量中。
  • 我们通过调用 pattern_sum() 函数并传入用户的输入来打印级数的和。

main.cpp 的完整代码

以下是使用第二种方法计算级数和的 main.cpp 完整代码:

#include<iostream>
using namespace std;

int pattern_sum(int n){
    int sum;
    sum = ( ((2 * n) - 1) * (((2 * n) - 1)+ 1) * ( ( 2 * ((2 * n) - 1) ) + 1 ) ) / 6;
    return sum;
}

int main(){
    int num;
    cout<<"Enter the number of terms you want: ";
    cin>>num;
    cout<<"The sum of the series is: "<<pattern_sum(num)<<endl;
    return 0;
}

总结

在本实验中,我们学习了如何使用两种不同的方法来计算级数 1^2 + 3^2 + 5^2 + ... + n^2 的和:一种是使用 for 循环,另一种是使用数学公式。我们还介绍了如何编写 C++ 程序来解决这个问题。现在你应该清楚地了解如何使用 C++ 来计算级数的和。