15、标题:求解连续数列
【求解连续数列】已知连续正整数数列{K}=K1,K2,K3...Ki的各个数相加之和为S,i=N(0<S<100000,0<N<100000),求此数列K。
输入描述:
输入包含两个参数,1)连续正整数数列和S,2)数列里数的个数N。
输出描述:
如果有解输出数列K,如果无解输出-1。
示例1:
输入
525
6
输出
85 86 87 88 89 90
def shulie(s, n):
arr = [0] * n
middle = int(s / n + 0.5) if n % 2 == 0 else int(s / n)
start = middle - math.floor(n / 2)
for i in range(len(arr)):
arr[i] = start + i
if arr[0] <= 0:
return -1
return arr
print(shulie(525, 5))
print(shulie(525, 6))