[Bronze II] 시그마 - 2355
2355번: 시그마
첫째 줄에 두 정수 A, B가 주어진다. (-2,147,483,648 ≤ A, B ≤ 2,147,483,647)
www.acmicpc.net
성능 요약
메모리: 14212 KB, 시간: 128 ms
분류
수학(math), 사칙연산(arithmetic)
문제 설명
두 정수 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부터 n까지 합 공식인 n(n+1) / 2 공식을 약간 변형하여
(A+B)*(A-B+1)/2 를 적용한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
long a = Integer.parseInt(st.nextToken());
long b = Integer.parseInt(st.nextToken());
if (b > a) {
long c = b;
b = a;
a = c;
}
long answer = (a + b) * (a - b + 1) / 2;
System.out.println(answer);
}
}
'algorithm > 백준' 카테고리의 다른 글
[백준] 나머지 - 10430 Java[자바] (0) | 2023.02.12 |
---|---|
[백준] 가장 많은 글자 -1371 Java[자바] (0) | 2023.02.11 |
[백준] 2018 연세대학교 프로그래밍 경진대회 - 15667 Java[자바] (0) | 2023.02.09 |
[백준] 10부제 - 10797 Java[자바] (0) | 2023.02.08 |
[백준] 과자 - 10156 Java[자바] (0) | 2023.02.07 |