본문 바로가기

Algorithm/Math

(Python) - 백준(BOJ) 7523 : Gauß

반응형

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

 

7523번: Gauß

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

www.acmicpc.net

수학 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

 1. 테스트 케이스의 개수 n을 선언 후 입력해줍니다.

 2. 그 후 n만큼 for loop를 수행하며 a, b를 선언해 입력 받습니다.

📔 풀이과정

a <= b이므로 (1부터 b까지 연속된 수의 합) - (1부터 a-1까지 연속된 수의 합)이 답이됩니다. 연속된 수의 합은 가우스의 공식 n * (n + 1) / 2입니다.

📔 정답출력

출력형식에 맞게 출력해줍니다.


📕 Code

def sum(num):
	return num * (num + 1) // 2
n = int(input())
for i in range(1,n+1):
	a, b = map(int, input().split())
	print("Scenario #%d:"%(i))
	print(sum(b)-sum(a-1))
	print()