본문 바로가기
Develop/백준 (Cpp)

[백준] 7523번 : Gauß (C++)

by Tarra 2023. 2. 7.

7523번 : Gauß


문제 )

카를 프리드리히 가우스는 독일의 수학자이다.

가우스가 초등학교에 다닐 때, 선생님 J.G. Büttner는 1부터 100까지 수의 합을 계산하게 시켰다. 가우스는 몇 초만에 정확한 답 5050을 계산했다.

n과 m 이 주어졌을 때, n보다 크거나 같고, m보다 작거나 같은 모든 정수의 합을 구하는 프로그램을 작성하시오. 즉, 다음을 계산하라.

 

 

입력 :

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, n과 m이 주어진다. (-109 ≤ n ≤ m ≤ 109)

 

 

 

출력 :

각 테스트 케이스마다 "Scenario #i:"를 출력한 다음, n부터 m까지 모든 정수의 합을 출력한다. 각 테스트 케이스 사이에는 빈 줄을 하나 출력한다.

 

 

 

 

 

풀이)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
using namespace std;
 
int main()
{
    int t, n, m;
    cin >> t;
 
    for (int i = 0; i < t; i++) {
        cin >> n >> m;
        cout << "Scenario #" << i + 1 << ":\n";
        cout << (long long)(m - n + 1* (n + m) / 2 << "\n\n";
    }
 
    return 0;
}
 
cs

출처 : https://www.acmicpc.net/problem/7523 

 

7523번: Gauß

각 테스트 케이스마다 "Scenario #i:"를 출력한 다음, n부터 m까지 모든 정수의 합을 출력한다. 각 테스트 케이스 사이에는 빈 줄을 하나 출력한다.

www.acmicpc.net