https://www.acmicpc.net/problem/2355
2355번: 시그마
첫째 줄에 두 정수 A, B가 주어진다. (-2,147,483,648 ≤ A, B ≤ 2,147,483,647)
www.acmicpc.net
문제
두 정수 A와 B가 주어졌을 때, 두 정수 사이에 있는 수의 합을 구하는 프로그램을 작성하시오. 사이에 있는 수들은 A와 B도 포함한다.
입력
첫째 줄에 두 정수 A, B가 주어진다. (-2,147,483,648 ≤ A, B ≤ 2,147,483,647)
출력
첫째 줄에 답을 출력한다. (-2,147,483,648 ≤ 답 ≤ 2,147,483,647)
예제 입력
1 2
예제 출력
3
Solution
Python
# ver.1
A,B = map(int, input().split())
if A > B:
A,B = B,A
sum = 0
if A > 0:
sum -= (A-1) * A // 2
sum += B * (B+1) // 2
elif B > 0:
sum -= A * (A-1) // 2
sum += B * (B+1) // 2
else:
sum -= A * (A-1) // 2
sum += B * (B+1) // 2
print(sum)
# ver.2
A,B = map(int, input().split())
if A > B:
A,B = B,A
if A < 0:
print(int(-((A+B)/2) * (-(B-A+1))))
else:
print(int(((A+B)/2) * (B-A+1)))
'메모장 > 백준 온라인 저지(BOJ)' 카테고리의 다른 글
백준 1009번 - 분산처리 (0) | 2021.09.01 |
---|---|
백준 1837번 - 암호제작 (0) | 2021.09.01 |
백준 2720번 - 세탁소 사장 동혁 (0) | 2021.09.01 |
백준 10162번 - 전자레인지 (0) | 2021.08.30 |
백준 15726번 - 이칙연산 (0) | 2021.08.30 |