728x90
7523번: Gauß
각 테스트 케이스마다 "Scenario #i:"를 출력한 다음, n부터 m까지 모든 정수의 합을 출력한다. 각 테스트 케이스 사이에는 빈 줄을 하나 출력한다.
www.acmicpc.net
문제 풀이
1부터 n까지 자연수의 합 공식인 n * (n + 1) // 2를 이용해준다.
n, m이 10, 100이라면, 1부터 m 까지의 합은 5050이고, 1부터 n까지의 합은 1부터 10까지이므로 55이다.
그렇다면 10부터 100까지 수의 합은 5050 - 55 + 10이 된다.
이말인즉슨, 1부터 100까지의 합 - 1부터 9까지의 합 => 1부터 m까지의 합 - 1부터 n - 1까지의 합으로 생각할 수 있다.
정답 코드
for i in range(1, int(input()) + 1) :
print(f"Scenario #{i}:")
n, m = map(int, input().split())
nn = (n - 1) * n // 2
mm = (m + 1) * m // 2
print(mm - nn)
print()
728x90
'Algorithm > PS' 카테고리의 다른 글
[BOJ/백준] 7782 - Alien [python] (0) | 2023.03.20 |
---|---|
[BOJ/백준] 7581 - Cuboids [python] (1) | 2023.03.20 |
[BOJ/백준] 7510 - 고급 수학 [python] (1) | 2023.03.20 |
[BOJ/백준] 6975 - Deficient, Perfect, and Abundant [python] (0) | 2023.03.20 |
[BOJ/백준] 6974 - Long Division [python] (0) | 2023.03.20 |