[Java] 정수 n 까지의 합 구하기

2023-02-27


사진: Unsplash 의 Anita Austvika


1. 방법

 

첫 번째 방법은 순차탐색하는 방법으로 O(n)의 복잡도를 가지게 된다. 주어진 n의 정수만큼 복잡도가 증가하기 때문에 비효율적이다. 반면에 sum2와 같은 방식은 n 값의  증가와는 상관없이 항상 O(1)의 복잡도를 가지게 되면 굉장히 효율적이기 때문에 1부터 시작하는 n의  정수의 합을 구하는 경우 sum2와 같은 방법을 구하는 것 이 좋다.

 

    @Test
    public void test11(){
        int n = 100;

        int sum1 = 0;
        for(int i = 0; i <=n ; i++){
            sum1 += i;
        }

        int sum2 = n * (n+1) / 2;

        System.out.println(sum1 + " / " + sum2);
        // 5050 / 5050

    }

메인 이미지 출처 : 사진: UnsplashAnita Austvika