はじめに
この実験では、1 + 2 + 4 + 8 + 16 + 32 +... + n の級数の和を求める C++ プログラムを書く方法を学びます。2 つの異なるアプローチを使用します。最初のアプローチは、for ループを使ってシーケンス内の値を加算します。2 番目のアプローチは、数学的な公式を使って和を計算します。
この実験では、1 + 2 + 4 + 8 + 16 + 32 +... + n の級数の和を求める C++ プログラムを書く方法を学びます。2 つの異なるアプローチを使用します。最初のアプローチは、for ループを使ってシーケンス内の値を加算します。2 番目のアプローチは、数学的な公式を使って和を計算します。
まず、ターミナルを開き、~/project
ディレクトリに移動しましょう。このディレクトリに、main.cpp
という名前の新しいファイルを作成します。これは次のコマンドを使って行うことができます。
touch ~/project/main.cpp
次に、好きなテキストエディタでこのファイルを開きます。
このアプローチでは、for
ループを使ってシーケンスを反復し、1 から n までの数値を合計します。合計値を sum
という変数に格納します。
main.cpp
ファイルに次のコードを追加します。
#include <iostream>
int main() {
int n, sum = 0;
std::cout << "Enter the value of n: ";
std::cin >> n;
for(int i = 1; i <= n; ++i) {
sum += i;
}
std::cout << "The sum of the sequence is: " << sum << std::endl;
return 0;
}
ここでは、std::cout
関数を使って、ユーザーに n
の値を入力するように求めるメッセージを表示します。次に、std::cin
関数を使って、ユーザーが入力した n
の値を読み取ります。for ループを開始する前に、sum
を 0
に初期化します。
for
ループは、i
の値を 1
から n
まで反復し、各値を sum
に加算します。最後に、std::cout
を使って合計値を表示します。
プログラムを実行する前に、コンパイルする必要があります。ターミナルで ~/project
ディレクトリに移動し、次のコマンドを実行します。
g++ main.cpp -o main &&./main
これにより、プログラムがコンパイルされて実行されます。n
の値を入力するように求めるメッセージが表示されるはずです。値を入力した後、プログラムはシーケンスの合計値を表示します。
このアプローチでは、数学的な公式を使ってシーケンスの和を計算します。公式は sum = 2^n - 1
で、n
はシーケンスの項数です。
main.cpp
ファイルに次のコードを追加します。
#include <iostream>
#include <cmath>
int main() {
int n;
std::cout << "Enter the value of n: ";
std::cin >> n;
int sum = pow(2, n) - 1;
std::cout << "The sum of the sequence is: " << sum << std::endl;
return 0;
}
ここでは、std::pow
関数を使って 2^n
を計算します。この値から 1
を引いて、シーケンスの和を求めます。そして、std::cout
を使って和を表示します。
プログラムを実行する前に、コンパイルする必要があります。ターミナルで ~/project
ディレクトリに移動し、次のコマンドを実行します。
g++ main.cpp -o main &&./main
これにより、プログラムがコンパイルされて実行されます。n
の値を入力するように求めるメッセージが表示されるはずです。値を入力した後、プログラムはシーケンスの和を表示します。
以下は、main.cpp
の完全なコードです。
#include <iostream>
#include <cmath>
int main() {
int n;
std::cout << "Enter the value of n: ";
std::cin >> n;
int sum = pow(2, n) - 1;
std::cout << "The sum of the sequence is: " << sum << std::endl;
return 0;
}
#include <iostream>
int main() {
int n, sum = 0;
std::cout << "Enter the value of n: ";
std::cin >> n;
for(int i = 1; i <= n; ++i) {
sum += i;
}
std::cout << "The sum of the sequence is: " << sum << std::endl;
return 0;
}
この実験では、1 + 2 + 4 + 8 + 16 + 32 +... + n の級数の和を求めるための C++ プログラムを書く方法を学びました。2 つの異なるアプローチを使用しました。1 つは for ループを使用し、もう 1 つは数学的な公式を使用します。どちらの方法も任意の等差数列の和を求めるために使用できます。