본문 바로가기
문제 해결/BaekJoon

[백준] [C++] 1292번 쉽게 푸는 문제

by WSLim_97 2023. 1. 6.
반응형

https://www.acmicpc.net/problem/1292

 

1292번: 쉽게 푸는 문제

첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.

www.acmicpc.net


코드

#include <iostream>
using namespace std;

int main()
{
	int arr[1001] = { }, a, b, count = 1, num = 1, sum = 0;

	for (int i = 1; i < sizeof(arr) / sizeof(int); i++)
	{
		arr[i] = num;
		if (count == num)
		{
			count = 1;
			num++;
		}
		else
			count++;
	}
	cin >> a >> b;

	for (int i = a; i <= b; i++)
	{
		sum += arr[i];
	}
	cout << sum;

	return 0;
}

풀이

1 한 번, 2 두 번, 3 세 번... 이런 식으로 증가하는 수열을 만들고 입력받은 두 수 a, b를 활용해 수열의 a번째와 b번째 사이의 수를 더해 그 합을 출력하는 문제이다.

 

count와 num 변수를 활용해 1이 한 번, 2는 두 번, 3은 세 번 입력되는 수열을 완성하였다.

반응형