C++で最初のn個の自然数の合計を求めるプログラム
このチュートリアルでは、C++を使って最初のn個の自然数の合計を求める方法について解説します。
整数nが与えられたとき、1からnまでの自然数をすべて足し合わせ、その合計を計算して出力するのが今回のタスクです。
サンプルコード
#include<iostream>
using namespace std;
//最初のn個の自然数の合計を返す関数
int findSum(int n) {
int sum = 0;
for (int x=1; x<=n; x++)
sum = sum + x;
return sum;
}
int main() {
int n = 5;
cout << findSum(n);
return 0;
}実行結果
15
コードの解説
このプログラムでは、findSum関数内でforループを使用し、変数xを1からnまで順に処理しています。各ループのたびにxの値を変数sumに加算していくことで、1+2+3+…+nという計算を実現しています。
上記の例ではn=5としているため、1+2+3+4+5=15が計算され、結果として15が出力されます。
なお、この問題は等差数列の和の公式「n×(n+1)/2」を使えば、ループなしでO(1)の計算量で求めることも可能です。大きなnを扱う場合は、こちらの方法のほうが効率的です。
-
C言語で最初のn個の自然数の立方和を求めるプログラム
この記事では、最初のn個の自然数(1からnまで)の立方和を求める方法について解説します。基本的なアプローチとしては、1からnまで繰り返すforループを1つ使い、各ステップでその項の立方を計算して合計に加算していきます。この方法の計算量はO(n)です。しかし、O(1)つまり定数時間でこの問題を解きたい場合は、以下の級数の公式を利用できます。1³ + 2³ + 3³ + … + n³ = {n(n+1)/2}²アルゴリズムcubeNNatural(n)begin sum := 0 for i in range 1 to n, do sum := sum + i^3
-
最初のn個の自然数の二乗和を求めるC++プログラムの解説
はじめにこの記事では、最初のn個の自然数(1からnまで)の二乗和を求める方法について解説します。例えば、n = 4 の場合、計算結果は 1² + 2² + 3² + 4² = 1 + 4 + 9 + 16 = 30 となります。基本的なアプローチとしては、1からnまで繰り返すforループを使用し、各ステップで項の二乗を計算して合計に加算していく方法があります。このプログラムの計算量は O(n) です。しかし、O(1) の定数時間で解きたい場合は、次の級数の公式を利用できます。Σk² = n(n + 1)(2n + 1) / 6この公式を使えば、ループ処理を行わずに一発で答えを求めることが可能で