1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php
function parts($a,$n,$m)
{
    if(--$m<=0)
    {    $a[]=$n;
        echo implode(',',$a),"\n";
        return;
    }
    $c=count($a);
    for($i=$n;$i>=0;--$i)
    {    $a[$c]=$i;
        parts($a,$n-$i,$m);
    }
}

parts(array(),$argv[1],$argv[2]);
?>