본문 바로가기

Algorithm/Baekjoon

백준(8393번) - 합

백준 - 합

 

for문 단계

1부터 N까지의 합을 구하는 문제. 물론 반복문 없이 풀 수도 있습니다.

www.acmicpc.net

 

문제

  • n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

입력

  • 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.

출력

  • 1부터 n까지 합을 출력한다.

 

입출력 예제

설명

  • 반복문을 사용하지 않고 구했다.   정답 = (n+1) * n / 2  

예 n=10 이면    1,2,3,4,5,6,7,8,9,10 을 더하면 되는데 한번의 세트를 거꾸로 나열해서 모두 더하면 전부 11이 된다. 그렇다면  11이 10개가 되고 간단하게 11*10을 하면 110이 된다. 그런데 여기서 우리는 기존의 1~10까지 더해야 되는데 한벌을 더 만들었기 때문에 /2 를 하게되면 55가 나오게 되므로  (n+1) * n / 2  이 성립한다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
public class Main {
    // 8393번 - 합
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); //선언
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int number = Integer.parseInt(bf.readLine());
        bw.write(((number+1)*number / 2)+"");
        bw.close();
    }
}
cs

'Algorithm > Baekjoon' 카테고리의 다른 글

백준(2741번) - N 찍기  (0) 2021.07.04
백준(15552번) - 빠른 A+B  (0) 2021.07.04
백준(10950) - A+B - 3  (0) 2021.07.04
백준(2739번) - 구구단  (0) 2021.07.04
백준(9498번) - 시험 성적  (0) 2021.06.10