N과 L이 주어질 때, 합이 N이면서, 길이가 적어도 L인 가장 짧은 연속된 음이 아닌 정수 리스트를 구하는 프로그램을 작성하시오.
N
L
temp
x
타입 : int
저장 데이터 : 계산한 수식을 저장
합과 최소 길이를 입력 [ N, L ]
for문으로 L부터 100까지 반복
값을 에 저장
만약 가 로 나누어 떨어지면 를 로 나누고 값을 다시 에 저장
가 보다 크면 만큼 반복하며 를 더한 값을 문자열로 저장 [ temp ]
import sys
N, L = map(int, sys.stdin.readline().split())
for i in range(L, 101): # L은 2보다 크거나 같고, 100보다 작거나 같은 자연수 이기 때문에 100까지만 반복
x = N - (i * (i + 1) / 2)
# x = (N - L * ( L + 1) // 2) // L
temp = ""
if x % i == 0:
x = int(x / i)
if x >= -1:
for j in range(1, i + 1):
temp += f"{x + j} "
print(temp)
break
else:
print(-1)