题面:
题解:
从2开始连续几个自然数的乘积最大。
假设我们 2+3+4+…+k>=n 刚好成立。
我们设ans=2+3+4+…k
如果ans=n,我们直接输出乘积即可。
如果ans-n=1,那我们去掉2,令k+1
如果ans-n>1 假设 ans-n=p,那么我们去掉p即可。
因为需要大数,就用python写了。
def main():
n=int(input())
ans=0
now=2
a=[]
while ans<n:
ans=ans+now
a.append(now)
now=now+1
if ans-n==1:
a[0]=1
a[-1]=a[-1]+1
elif ans-n>1:
a[ans-n-2]=1
res=1
for i in a:
res=res*i
if i!=1:
print(i,end=" ")
print("\n%d\n"%(res))
main()