再帰を使用してN個の数の合計を見つけるJavaプログラム
この記事では、再帰を使用してN個の数の合計を見つける方法を理解します。再帰関数は、特定の条件が満たされるまで自分自身を複数回呼び出す関数です。
再帰は、自己相似的な方法でアイテムを繰り返すプロセスです。プログラミング言語では、プログラムで同じ関数内の関数を呼び出すことができる場合、それは関数の再帰呼び出しと呼ばれます。
多くのプログラミング言語は、スタックを使用して再帰を実装します。一般に、関数(呼び出し元)が別の関数(呼び出し先)またはそれ自体を呼び出し先として呼び出すときはいつでも、呼び出し元関数は実行制御を呼び出し先に移します。この転送プロセスには、発信者から着信者に渡されるデータも含まれる場合があります。
以下は同じのデモンストレーションです-
入力
入力が-
であると仮定しますEnter the value of N : 6 Enter the elements of array : 15 30 45 80 100 140
出力
必要な出力は-
になりますThe total of N numbers is : 410
アルゴリズム
Step 1 - START Step 2 - Declare two integer values namely N , my_sum and i and an integer array ‘my_array’ Step 3 - Read the required values from the user/ define the values Step 4 - A recursive function ‘RecursiveSum is defined which takes two integers as input. The function computes the reminder by re-iterating over the function multiple times, until the base condition is reached. Step 5 - The recursive function ‘RecursiveSum is called and its result is stored Step 6 - Display the result Step 7 - Stop
例1
ここでは、プロンプトに基づいてユーザーが入力を入力しています。この例は、コーディンググラウンドツールでライブで試すことができます 。
import java.util.Scanner; public class ArraySum { public static int RecursiveSum(int my_array[], int i,int N){ if (i == N) return 0; return my_array[i] + RecursiveSum(my_array, i + 1,N); } public static void main(String[] args){ int N, my_sum, i; N = 6; my_sum = 0; 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 value of N : "); N = my_scanner.nextInt(); int my_array[] = new int[N]; System.out.println("Enter the elements of the array :" ); for ( i = 0 ; i < N ; i++ ){ my_array[i] = my_scanner.nextInt(); } my_sum = RecursiveSum(my_array, 0, N); System.out.println("\n The total of N numbers is : " + my_sum); } }
出力
Required packages have been imported A reader object has been defined Enter the value of N : 6 Enter the elements of the array : 15 30 45 80 100 140 The total of N numbers is : 410
例2
ここでは、整数は事前に定義されており、その値にアクセスしてコンソールに表示されます。
public class Main { public static void main(String[] args) { int[] my_array = {15, 20, 25, 30, 35, 40}; int my_input , i, array_size; array_size = 5; my_input = 25; boolean my_check = false; System.out.println("The number is defined as " +my_input); System.out.println("The elements in the integer array is defined as :" ); for ( i = 0 ; i < array_size ; i++ ){ System.out.print(my_array[i] +" "); } for ( i = 0 ; i < array_size ; i++ ) { if (my_array[i] == my_input) { my_check = true; break; } } if(my_check) System.out.println("\nThe array contains the given value"); else System.out.println("\nThe array doesnot contain the given value"); } }
出力
The number is defined as 25 The elements in the integer array is defined as : 15 20 25 30 35 The array contains the given value
-
2つの数値の合計と差を見つけるCプログラム
2つの整数a、bと2つの浮動小数点数c、dがあるとします。 aとb、およびcとdの合計を見つける必要があります。また、aとcの合計も見つける必要があります。そのため、printf関数のスタイルによっては、出力が異なる場合があります。 したがって、入力がa =5、b =58 c =6.32、d =8.64のような場合、出力はa + b =63 c + d =14.960001 a + c =11.320000になります。 これを解決するには、次の手順に従います- a + bを出力するには、両方とも整数であるため、printf( %d)が機能します c + dを印刷するには、どちら
-
再帰関数を使用して数値の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