출처 : 종만북 6.2 재귀호출과 완전탐색 : 1부터 n까지의 합을 계산하는 반복함수와 재귀함수

코드설명

재귀함수를 활용하여 1부터 n까지의 합을 계산합니다.

 

입력예시 1 : 

10

결과 예시 1

55

 

코드

재귀코드를 활용합니다.

재귀코드 작성시 주의할점은, 다음 재귀호출이 종료되고 +N을 더해나간다는 점을 기억합니다. (1부터 n까지의 합이기 때문)

package Main;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main {
	public static int C, N, M;
	public static int answer = Integer.MAX_VALUE;
	
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		N = Integer.parseInt(st.nextToken());
		System.out.print(getSumByRecursive(N));
	}
	
	public static int getSumByRecursive(int N) {
		if(N == 1) return 1;
		return getSumByRecursive(N - 1) + N; 
	}
	
}

 

for문을 활용합니다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main {
	public static int C, N, M;
	public static int answer = Integer.MAX_VALUE;
	
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		N = Integer.parseInt(st.nextToken());
		System.out.println(getSumByForIterative(N));
	}
	
	public static int getSumByForIterative(int N) {
		int sum = 0;
		for(int i=1;i<=N;i++) {
			sum += i;
		}
		return sum;
	}
	
}

 

+ Recent posts