백준 1024 수열의 합 C++

백준 1024 수열의 합.

백준 1024번 "수열의 합" 문제의 자세한 내용은 글 하단의 문제 링크를 참고하세요.

1024번 문제에 주어지는 입력 및 예시

입력: 

18 2

출력:

5 6 7

코드

백준 1024번 "수열의 합" 문제의 코드입니다.

#include <bits/stdc++.h>
using namespace std;
int main(){
	int N,L; 
	cin>>N>>L;
	for(int i=L;i<=100;i++){
		// (2a + l - 1) * l / 2 ==> a=n/l-(l-1)/2
		int a=N/i-(i-1)/2;	
		if(a<0) continue;
		// (a + (a + 1) + ... + (a + l - 1)) = (2a + l - 1) * l / 2
		if(N==(2*a+i-1)*i/2){
			for(int j=0;j<i;j++)
				cout<<a+j<<" ";	
			return 0;
		}
	}cout<<"-1"<<"\n";
	return 0;
}

실행

위의 코드를 예제의 입력을 넣어 실행했을 때의 결과입니다.

 

'C' 카테고리의 다른 글

백준 1213 팰린드롬 만들기 C++  (0) 2023.04.02
백준 1026 보물 c++  (0) 2023.04.02
백준 9375 패션왕 신해빈 C++  (0) 2023.03.31
백준 1620 나는야 포켓몬 마스터 이다솜 C++  (0) 2023.03.31
백준 2740 행렬 곱셈 C++  (0) 2023.03.31

Designed by JB FACTORY