Java
 Computer >> コンピューター >  >> プログラミング >> Java

再帰を使用して自然数の合計を見つけるJavaプログラム


この記事では、再帰を使用して自然数の合計を見つける方法を理解します。 1から無限大までのすべての可能な正の数は自然数と呼ばれます。再帰関数は、特定の条件が満たされるまで自分自身を複数回呼び出す関数です。

再帰は、自己相似的な方法でアイテムを繰り返すプロセスです。プログラミング言語では、プログラムで同じ関数内の関数を呼び出すことができる場合、それは関数の再帰呼び出しと呼ばれます。

多くのプログラミング言語は、スタックを使用して再帰を実装します。一般に、関数(呼び出し元)が別の関数(呼び出し先)またはそれ自体を呼び出し先として呼び出すときはいつでも、呼び出し元関数は実行制御を呼び出し先に移します。この転送プロセスには、発信者から着信者に渡されるデータも含まれる場合があります。

以下は同じのデモンストレーションです-

入力

入力が-

であると仮定します
Enter the number : 25

出力

必要な出力は-

になります
The sum of natural numbers up to 25 is 325

アルゴリズム

Step 1 - START
Step 2 - Declare 2 integer values namely my_input and my_sum.
Step 3 - Read the required values from the user/ define the values
Step 4 - A recursive function ‘Add’ is defined which takes an integer as input and returns the sum of the input value and its previous value until the input value is reduced to 0.
Step 5 - The recursive function is called and the value ‘my_input’ is passed to it. Store the return value.
Step 6 - Display the result
Step 7 - Stop

例1

ここでは、プロンプトに基づいてユーザーが入力を入力しています。この例は、コーディンググラウンドツールでライブで試すことができます 再帰を使用して自然数の合計を見つけるJavaプログラム

import java.util.Scanner;
public class NaturalNumbers {
   public static void main(String[] args) {
      int my_input, my_sum;
      System.out.println("Required packages have been imported");
      Scanner my_scanner = new Scanner(System.in);
      System.out.println("A reader object has been defined ");
      System.out.print("Enter the number : ");
      my_input = my_scanner.nextInt();
      System.out.println("The number is defined as " +my_input);
      my_sum = Add(my_input);
      System.out.println("The sum of natural numbers up to " + my_input + " is " + my_sum);
   }
   public static int Add(int my_input) {
      if (my_input > 0)
         return my_input + Add(my_input - 1);
      else
         return my_input;
   }
}

出力

Required packages have been imported
A reader object has been defined
Enter the number : 25
The number is defined as 25
The sum of natural numbers up to 25 is 325

例2

ここでは、整数は事前に定義されており、その値にアクセスしてコンソールに表示されます。

public class NaturalNumbers {
   public static void main(String[] args) {
      int my_input, my_sum;
      my_input = 25;
      System.out.println("The number is defined as " +my_input);
      my_sum = Add(my_input);
      System.out.println("The sum of natural numbers up to " + my_input + " is " + my_sum);
   }
   public static int Add(int my_input) {
   if (my_input > 0)
      return my_input + Add(my_input - 1);
   else
      return my_input;
   }
}

出力

The number is defined as 25
The sum of natural numbers up to 25 is 325

  1. 再帰関数を使用して数値のGCDを見つけるCプログラム

    問題 Cプログラミング言語の再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つけます。 解決策 再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つけるための解決策は、次のとおりです- アルゴリズム 再帰関数を使用して、指定された2つの数値の最大公約数(GCD)を見つけるには、以下のアルゴリズムを参照してください。 ステップ1 −再帰関数を定義します。 ステップ2 −2つの整数aとbを読み取ります。 ステップ3 −再帰関数を呼び出します。 a. if i>j b. then return the function with parameter

  2. Pythonを使用して自然数の合計を見つける方法は?

    whileループを使用すると、変数iの値を1ずつ連続してインクリメントし、累積的に追加できます。 s,i=0,0 n=10 while i<n:    i=i+1    s=s+i print ("sum of first 10 natural numbers",s) forループは、自然数の範囲をループして累積的に加算するためにも使用されます。 s=0 for i in range(11):    s=s+i print ("sum of first 10 natural numbers&