본문 바로가기

메모장/백준 온라인 저지(BOJ)

백준 2355번 - 시그마

 

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)))