import numpy as np
n=4
psum= n*(n*n+1)//2
def coun_iter(a, k, csum, p_sum,n):# sum[i=1..n](c[n-i]*i)=psum
if (k<n-1):
for a[k] in np.arange(1,1+(p_sum-csum) // (n-k)):
coun_iter(a,k+1,csum+(n-k)*a[k],p_sum,n)
else:
a[k]=p_sum-csum
if np.cumsum(a)[n-1] < (n * n+1):
print(a,np.cumsum(a),np.sum(np.cumsum(a)))
c=np.ones(n, np.uint16)
print(psum)
coun_iter(c,0,0,psum,n)
вроде бы теперь работает.