문제의 소재
정수 n이 입력되면, 1부터 n까지의 합을 구하는 문제이다.
해답
for문을 이용하여 1부터 n까지 모두 더하는 방법으로 푸는 문제이나, 가우스의 덧셈 공식을 이용하여 풀었다.
N과 N+1은 이웃한 수이므로 둘 중 하나는 짝수이다. 따라서 int형 변수를 가지고 N×(N+1)/2를 계산하여도 나머지가 없어서 계산은 정확하다.
// BOJ_8393.cpp
#include <iostream>
using namespace std;
int main()
{
int N;
cin>>N;
cout<<N*(N+1)/2<<endl;
return 0;
}
반응형
댓글