OKKY 2020. 7. 7. 17:01
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로 변환해서 출력