再帰を使用して自然数の合計を見つけるC++プログラム
自然数は1から始まる正の整数です。
自然数のシーケンスは-
です1, 2, 3, 4, 5, 6, 7, 8, 9, 10……
再帰を使用して最初のn個の自然数の合計を見つけるプログラムは次のとおりです。
例
#include <iostream> using namespace std; int sum(int n) { if(n == 0) return n; else return n + sum(n-1); } int main() { int n = 10; cout<<"Sum of first "<<n<<" natural numbers is "<<sum(n); return 0; }
出力
Sum of first 10 natural numbers is 55
上記のプログラムでは、関数sum()は再帰関数です。 nが0の場合、最初の0個の自然数の合計が0であるため、0を返します。nが0より大きい場合、sumは値n-1で自分自身を再帰的に呼び出し、最終的にn、n-1の合計を返します。 、n-2…...2,1。これを示すコードスニペットは次のとおりです。
int sum(int n) { if(n == 0) return n; else return n + sum(n-1); }を返します。
関数main()では、最初のn個の自然数の合計がcoutを使用して表示されます。これは次のように見ることができます-
cout<<"Sum of first "<<n<<" natural numbers is "<<sum(n);
-
最初のn個の自然数の二乗和のためのC++プログラム?
この問題では、最初のn個の自然数の2乗の合計を取得する方法を確認します。ここでは、1からnまで実行されるforループを使用しています。各ステップで、項の2乗を計算し、それを合計に追加します。このプログラムは、完了するまでにO(n)時間かかります。しかし、これをO(1)または一定時間で解きたい場合は、この級数式-を使用できます。 アルゴリズム squareNNatural(n) begin sum := 0 for i in range 1 to n, do sum := sum + i^2 &
-
Pythonで再帰を使用して自然数の合計を見つける方法は?
関数がそれ自体を呼び出す場合、それは再帰関数と呼ばれます。無限ループに陥らないようにするために、条件付きステートメントで再帰呼び出しが行われます。 次のプログラムは、ユーザーからの入力として数値を受け取り、それを引数としてrsum()関数に送信します。 1に達するまで毎回引数をデクリメントすることにより、再帰的に自分自身を呼び出します。 def rsum(n): if n <= 1: return n else: retu