不难,如下:def cal():n=int(input("请输入长度:"))a=n//19m=23p,h=0,0for i in range(1,a):c=(n-19i)//23if c>0:for j in range(1,c+1):k=n-19i-23*jif k<=m:m=kp=ih=jelse:continueelse:continueprint(f"最短19m数量为{str(p)},23m数量为{str(h)},剩余长度为{m}")