Python 最后一个点没过,求助
查看原帖
Python 最后一个点没过,求助
776331
GlucoseNacl楼主2023/8/26 00:01

最后一个点说我第一行第一个数输出是1,但是我的代码里面从2开始分根本不可能出现1啊,请问是什么问题呢?

n=int(input())
k=2
while((k-1)*(k+2)<2*n):
    k+=1
res=(k-1)*(k+2)//2-n
if res==1:
    ans=1
    for i in range(3,k):
        ans*=i
        print("{} ".format(i),end='')
    ans*=k+1
    print("{}\n{}".format(k+1,ans))
else:
    ans=1
    for i in range(2,res):
        ans*=i
        print("{} ".format(i),end='')
    for i in range(res+1,k):
        ans*=i
        print("{} ".format(i),end='')
    ans*=k
    print("{}\n{}".format(k,ans))
2023/8/26 00:01
加载中...