import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(br.readLine());
		System.out.println(n*(n+1)/2);

	}
}

for문 무시... 그냥 어릴적 배운 수학 공식 사용.

1~n까지의 합은 n*(n+1)/2;

 

[주의]

곱셉 나눗셈 교환법칙으로 인해

n*(n+1)/2 = (n/2)*(n+1)

 

처음에 후자로 코딩했다가 값이 다르게 나왔다.

(사유 : n이 int형이므로 n/2하다가 반내림 됨)


구지 후자를 쓰고자 한다면

1) int로 입력 받고

2) double 형변환 해서 계산

3) 다시 int로 변환해서 출력

'알고리즘 > acmicpc.net' 카테고리의 다른 글

11022  (0) 2020.07.08
11021.  (0) 2020.07.08
2741. N찍 & 2742.N반대로찍  (0) 2020.07.08
15552. Fast A+B  (0) 2020.07.08
acmicpc.net => 백준의 알고리즘 사이트.  (0) 2020.07.07

+ Recent posts