Compute all the sets of 87248 into 10 parts

90 Views Asked by At

How many sets are possible? I have to compute all the sets of 87248 into 10 parts

(Additional conditions which may be useful are: integers can be repeated, every integer is less than or equal to 65536, order is not important)

What is the increase in complexity of this kind of problem if number of parts in each set is increased to 20 or 30?

I have a trouble in understanding number theory, this solution will help me in my self motivated research. I am non technical. Thanks in advance

2

There are 2 best solutions below

11
On

Ignoring the restriction to parts of less than $64k$ for the moment, the number of compositions of $87428$ into $10$ parts is ${87427 \choose 9}$. To estimate this, we can just ask Alpha and find it is about $8.07 \cdot 10^{38}$ or say it is about $\frac {87427^9}{9!}$. The base $10$ log of this is about $9 \log_{10}87427-\log_{10}362880\approx 38.907$

The restriction to parts smaller than $64k$ will matter very little. Let $n$ be the part greater than $64k$. We have ${87427-n \choose 8}$ ways to compose the rest, then $10$ places to put the big part. So we need to subtract $\sum_{n=65537}^{87419}10{87427-n \choose 8}$ We can bound this by noting that the first term is the largest, so will just take that term times the number of terms. $\sum_{n=65537}^{87419}10{87427-n \choose 8} \lt 218830\cdot 1.306\cdot 10^{30}\approx 2.86\cdot 10^{35}$ so the subtraction is less than one part in $2800$

If the number of parts increases, the difficulty of the problem does not increase. Just change the $9$'s to one less than the number of parts. As long as the number of parts is quite small compared to $87248$, the multiplier in front of $\log_{10}87247$ will increase, so the approximate answer for $m$ parts will be $\frac{87247^m}{m!}$ The statement that the correction for $64k$ will be small remains true.

6
On

Start with a simpler problem - divide 10 into 10 parts. Then 11 into 10 parts. And so on.

That leads to A026816 and A008639, from which you can get a generating function for the answer.