The problem is to find and count all of the unique sets of three positive
integers that sum to 1,000,000. For example, one of the triples is:

+/333332 333333 333335

1000000


Another one:

+/333331 333333 333336

1000000


Yet another:

+/999998 1 1
1000000


Now just find all the other unique ones & count them.


Skip



On Sat, May 19, 2018 at 8:58 PM 'Jon Hough' via Programming <
programm...@jsoftware.com> wrote:

> If I understand the problem correctly, you want to find  the number of
> partitions of 1,000,000 which have size 3.
> e.g.
> Partitions of 10 of size 3 are:
> 1 1 8, 1 2 7, 1 3 6, 1 4 5, 2 2 6, 2 3 5, 2 4 4, 3 3 4
> So there are 8.
>
> In general a recursive function to find all partitions of y of size x is:
>
> nparts=:4 :0
> if. (x =1) *. y =1 do.
> 1
> elseif. y =1 do. 0
> elseif. x >y do. 0
> elseif. (x <: 0) +. y <:0 do. 0
> elseif. 1 do.
> ((x-1) nparts (y-1)) + x nparts y- x
> end.
> )
>
> 3 nparts 10
>   8
>
> This, unfortunately blows up the stack for large y (e.g. 1,000,000). I
> don't have time to modify it into
> an iterative approach, but will try later.
>
>
> --------------------------------------------
> On Sun, 5/20/18, Skip Cave <s...@caveconsulting.com> wrote:
>
>  Subject: [Jprogramming] Quora Problem
>  To: "programm...@jsoftware.com" <programm...@jsoftware.com>
>  Date: Sunday, May 20, 2018, 5:43 AM
>
>  Another interesting quora problem:
>
>  How many distinct triplets have a sum
>  of 1,000,000 (provided all numbers
>  are integers and are positive)?
>  <
> https://www.quora.com/qemail/track_click?al_imp=eyJ0eXBlIjogMzUsICJoYXNoIjogMTcxMDQ0NjU4Mn0%3D&al_pri=QuestionLinkClickthrough&aoid=oMo937UDzj8&aoty=2&aty=4&click_pos=1&ct=1526747413834671&et=103&id=62216bf7b30d40aea1d79bf4401c8317&request_id=289&src=1&st=1526747413838426&stories=2518686273&uid=bqluVqSeN78&v=0
> >
>
>  ​The obvious straightforward solution
>  would be to use the odometer verb:​
>
>  odo=: #: i.@(*/)
>
>  1e6=+/"1 odo 3#1e6
>
>  |limit error: odo
>
>  | 1000000=+/"1 odo 3#1000000
>
>
>  Ooops. Unfortunately, I don't have near
>  enough memory to use this approach.
>
>  Any suggestions?
>
>
>  Skip
>
>  ​
>
>  Skip Cave
>  Cave Consulting LLC
>  ----------------------------------------------------------------------
>  For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to