728x90
문제 1292번
https://www.acmicpc.net/problem/1292
배열에 1부터 1000까지 규칙에 맞게 담기 위해 i를 1부터 1000까지 반복해준다. 그리고 j를 이용해 1이면 1개만 2면 2개만 담을 수 있도록 만든다. 여기서 배열의 인덱스로 1부터 시작하는 n변수를 만든다. 그렇게 j부분의 반복문을 실행할 때마다 인덱스를 하나 증가시켜주는 것이다. j부분의 반복문을 다시 시작할 때 n이 1000을 넘는지 확인하여 범위가 넘지 않도록 주의해준다.
배열에 값을 다 넣어주면 마지막으로 A번째 숫자부터 B번째 숫자까지 반복문을 이용해 더해주어 해당 값을 출력해주면 된다.
#include <iostream>
using namespace std;
int main() {
int A, B, n = 1;
int num[1001];
cin >> A >> B;
for (int i = 1; i < 1001; i++) {
for (int j = 1; j <= i; j++) {
if (n > 1000) {
break;
}
num[n] = i;
n++;
}
}
int sum = 0;
for (int i = A; i <= B; i++) {
sum += num[i];
}
cout << sum;
return 0;
}
728x90
'백준 > C++' 카테고리의 다른 글
[C++] 백준 1110번 - 더하기 사이클 (0) | 2024.05.26 |
---|---|
[C++] 백준 16496번 - 큰 수 만들기 (0) | 2024.05.25 |
[C++] 백준 2805번 - 나무 자르기 (0) | 2024.05.22 |
[C++] 백준 13241번 - 최소공배수 (0) | 2024.05.21 |
[C++ 실패하고... 파이썬] 백준 13706번 - 제곱근 (1) | 2024.05.20 |