알고리즘

1부터 정수 n까지 1 + (1 + 2) + (1 + 2 + 3) + .... + (1 + 1이상 n 이하 모든 정수의 합 )과 같은 식의 합을 구하는 알고리즘

개발 초보 2023. 4. 19. 14:22
import java.io.*;
import java.lang.*;
import java.util.*;


public class Main {
	public static final Scanner scanner = new Scanner(System.in);
	
	/**
	 * N에 대한 정답을 계산하는 함수
	 * @param N
	 * @return
	 */
	
	public static int getRangeSumFromOne(int n){
		int s = 0;
		for(int i = 1; i <= n; i++){
			s += i;
		}
		return s;
	}
	public static int getAnswer(int n){
			int answer = 0;
			for(int i = 1; i <= n; i++){
				int s = 0;
				s = getRangeSumFromOne(i);
				answer += s;
			}
		return answer;
	}


	public static void main(String[] args) throws Exception {
		int n = scanner.nextInt();
		int answer = getAnswer(n);
		System.out.println(answer);
	}
}

 

이 알고리즘은 인수가 10일 때 1부터 10까지 모든 수를 합해 55를 반환하는 것이 아닌,

1 + (1 + 2) + (1 + 2 + 3) + ... + (1이상 10이하의 정수 합)을 구해 220을 반환하는 알고리즘이다.

 

10주 완성 알고리즘 코딩테스트 - goorm edu에서 들으실 수 있는 내용입니다.