문제 풀이/Baekjoon Online Judge

[python3] 1024번 수열의 합

[잉간] 2018. 3. 20. 23:30


한번 수학식으로 적어보았더니 이런 식이 나왔다.



조건은 그냥 x가 0보다 크거나 같으면 된다.


num = input().split()
	
N = int(num[0])
L = int(num[1])

def sequencesum(N, L):
	if L <= 100 and N <= 1000000000:
		global t
		global d
		t = 0
		d = 0
		for repeat in range(1, L):
			t += repeat
		x = (N - t) // L
		if x < 0:
			sequencesum(N, L + 1)
		else:
			for repeat in range(0, L):
				d += x + repeat 
			if d > N or d < N:
				sequencesum(N, L + 1)
			elif d == N:
				for repeat in range(0, L):
					print(x+repeat,end=" ")
	else:
		print("-1")

sequencesum(N, L)