number generator

Dick Moores rdm at rcblue.com
Sat Mar 10 05:32:21 EST 2007


At 07:17 AM 3/9/2007, cesco wrote:
>On Mar 9, 3:51 pm, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
> > "cesco" <fd.calabr... at gmail.com> writes:
> > > I have to generate a list of N random numbers (integer) whose sum is
> > > equal to M. If, for example, I have to generate 5 random numbers whose
> > > sum is 50 a possible solution could be [3, 11, 7, 22, 7]. Is there a
> > > simple pattern or function in Python to accomplish that?
> >
> > Erm, yes, lots of ways, there are probably further constraints on the
> > problem, such as the size of the integers, how the lists are supposed
> > to be distributed, etc.  Can you be more specific?  Is this for an
> > application?  If it's a homework problem, that's fine, but it's better
> > in that case for respondents to suggest hints rather than full solutions.
>
>Given two positive integers, N and M with N < M, I have to generate N
>positive integers such that sum(N)=M. No more constraints.

So why not just repeatedly call a function to generate lists of 
length N of random integers within the appropriate range (the closed 
interval [1,M-N-1]), and return the first list the sum of which is M? 
I don't understand what all the discussion is about. Time is not one 
of the constraints.

Dick Moores 




More information about the Python-list mailing list