C++ で二乗和を計算する

C++C++Beginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、2 つの異なるアプローチを使って、1^2 + 3^2 + 5^2 +... + n^2 の級数の和を求める C++ プログラムを書く方法を学びます。手順を段階的に案内して、プロセスを理解するのを助けます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/StandardLibraryGroup -.-> cpp/math("Math") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/for_loop -.-> lab-96194{{"C++ で二乗和を計算する"}} cpp/output -.-> lab-96194{{"C++ で二乗和を計算する"}} cpp/user_input -.-> lab-96194{{"C++ で二乗和を計算する"}} cpp/files -.-> lab-96194{{"C++ で二乗和を計算する"}} cpp/math -.-> lab-96194{{"C++ で二乗和を計算する"}} cpp/code_formatting -.-> lab-96194{{"C++ で二乗和を計算する"}} end

新しい C++ ファイルを作成する

まず、新しい C++ ファイルを作成する必要があります。ターミナルを開き、~/project ディレクトリに移動します。ここで、main.cpp という名前の新しいファイルを作成します。

cd ~/project
touch main.cpp

最初の方法を使ってコードを書く

ここでは、最初の方法を使ってプログラムを書きます。この方法では、for ループを使って 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;
}

コードの説明:

  • まず、必要なヘッダーファイルをインクルードします。
  • 次に、整数 n を入力として受け取り、級数の和を返す pattern_sum という関数を書きます。
  • 関数の中で、sum という変数を 0 で初期化します。
  • 1 から n まで 2 のステップで for ループを使って奇数を取得し、それらの二乗を sum 変数に加算します。
  • 最後に、sum を返します。
  • main() 関数では、ユーザーに入力したい項数を尋ね、その値を num 変数に格納します。
  • ユーザーの入力を使って pattern_sum() 関数を呼び出して、級数の和を表示します。

2番目の方法を使ってコードを書く

ここでは、2番目の方法を使ってプログラムを書きます。この方法では、数学的な公式を使って級数の和を求めます。

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

コードの説明:

  • まず、必要なヘッダーファイルをインクルードします。
  • 次に、整数 n を入力として受け取り、級数の和を返す pattern_sum という関数を書きます。
  • 関数の中で、数学的な公式を使って級数の和を求め、それを sum 変数に格納します。
  • 最後に、sum を返します。
  • main() 関数では、ユーザーに入力したい項数を尋ね、その値を num 変数に格納します。
  • ユーザーの入力を使って pattern_sum() 関数を呼び出して、級数の和を表示します。

main.cpp の完全なコード

ここに、級数の和を求めるための2番目の方法を使った 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 ループを使う方法と数学的な公式を使う方法の2つの異なるアプローチを学びました。また、この問題を解くための C++ プログラムを書く方法についても学びました。これで、C++ を使って級数の和を求める方法を明確に理解しているはずです。