이 기사에서는 재귀를 사용하여 N개의 합을 찾는 방법을 이해합니다. 재귀 함수는 특정 조건이 충족될 때까지 자신을 여러 번 호출하는 함수입니다.
재귀는 자기 유사 방식으로 항목을 반복하는 프로세스입니다. 프로그래밍 언어에서 프로그램이 동일한 함수 내에서 함수를 호출하도록 허용하는 경우 이를 함수의 재귀 호출이라고 합니다.
많은 프로그래밍 언어는 스택을 통해 재귀를 구현합니다. 일반적으로 함수(호출자)가 다른 함수(피호출자) 또는 자신을 피호출자로 호출할 때마다 호출자 함수는 실행 제어를 피호출자에게 넘깁니다. 이 전송 프로세스에는 호출자에서 호출 수신자에게 전달할 일부 데이터가 포함될 수도 있습니다.
아래는 동일한 데모입니다 -
입력
입력이 -
라고 가정합니다.N의 값을 입력하십시오:6배열의 요소를 입력하십시오:15 30 45 80 100 140
출력
원하는 출력은 -
N개의 숫자의 합계는 410입니다.
알고리즘
Step 1 - STARTStep 2 - 두 개의 정수 값, 즉 N , my_sum 및 i 및 정수 배열 'my_array'를 선언합니다.Step 3 - 사용자로부터 필요한 값 읽기/값 정의Step 4 - 재귀 함수 'RecursiveSum이 다음과 같이 정의됩니다. 두 개의 정수를 입력으로 사용합니다. 함수는 기본 조건에 도달할 때까지 함수를 여러 번 반복하여 알림을 계산합니다. 5단계 - 재귀 함수 'RecursiveSum이 호출되고 결과가 저장됩니다. 6단계 - 결과 표시 7단계 - 중지
예시 1
여기에서 입력은 프롬프트에 따라 사용자가 입력하고 있습니다. 코딩 기반 도구에서 이 예제를 라이브로 사용해 볼 수 있습니다. .
import java.util.Scanner;public class ArraySum { public static int RecursiveSum(int my_array[], int i,int N){ if (i ==N) return 0; 반환 my_array[i] + RecursiveSum(my_array, i + 1,N); } 공개 정적 무효 메인(문자열[] 인수){ int N, my_sum, i; N =6; my_sum =0; System.out.println("필수 패키지를 가져왔습니다."); 스캐너 my_scanner =새로운 스캐너(System.in); System.out.println("리더 객체가 정의되었습니다. "); System.out.print("N 값을 입력하세요 :"); N =my_scanner.nextInt(); int my_array[] =새로운 int[N]; System.out.println("배열의 요소를 입력하세요 :" ); for ( i =0; i출력
필수 패키지를 가져왔습니다.리더 개체가 정의되었습니다.N 값을 입력하십시오. 6배열의 요소를 입력하십시오.예시 2
여기에서 정수는 이전에 정의되었으며 그 값은 콘솔에 액세스되어 표시됩니다.
공개 클래스 메인 { 공개 정적 무효 메인(문자열[] 인수) { int[] my_array ={15, 20, 25, 30, 35, 40}; int my_input, i, array_size; array_size =5; my_input =25; 부울 my_check =거짓; System.out.println("숫자는 " +my_input으로 정의됩니다); System.out.println("정수 배열의 요소는 다음과 같이 정의됩니다." ); for ( i =0; i출력
숫자는 25로 정의됩니다.정수 배열의 요소는 다음과 같이 정의됩니다:15 20 25 30 35배열은 주어진 값을 포함합니다