원본 : https://www.acmicpc.net/problem/1292
1292번: 쉽게 푸는 문제
첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.
www.acmicpc.net
풀이
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
public class Main {
private static final BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws Exception {
List<Integer> list = new ArrayList<>();
list.add(0);
for (int i = 1; i < 1000; i++) {
for (int j = 0; j < i; j++) {
list.add(i);
}
if (list.size() > 1000) {
break;
}
}
StringTokenizer st = new StringTokenizer(bufferedReader.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int sum = 0;
for (int i = a; i <= b; i++) {
sum += list.get(i);
}
System.out.println(sum);
}
}
댓글 영역