Jump to content

Recursive Help

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
2 replies to this topic

#1
concept

concept

    Newbie

  • Members
  • Pip
  • 5 posts
i have been trying to figure this out for a day now.

i used to have a great example of this but i cannot find it anywhere. i have tried to recreate this but for some reason i cannot.

i need a recursive number generator. i cannot have it random.

I need to be able to set the amount of numbers 2-20 and i want to be able to set the range of the numbers 1-115

this is really stupid i know but i cannot figure this out for the life of me in a nice clean few lines of code like i used to have

i want it to go in a recursive order

for example i would like the output to be something like this

1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 2
1 1 1 1 1 1 1 1 3
1 1 1 1 1 1 1 1 4
1 1 1 1 1 1 1 2 1
1 1 1 1 1 1 1 2 2
1 1 1 1 1 1 1 2 3
1 1 1 1 1 1 1 2 4

basically i would like it to work something like that so the code recursively changed all the numbers so that every possible number combination is generated within the specific range of

9 total numbers for this example.
each number can be a range from 1-115 but for this example i used 1-4

#2
concept

concept

    Newbie

  • Members
  • Pip
  • 5 posts
i was able to come up with this but its not working for me and after lots of time pulling out my hair i need a good kick in the right direction or something

<?php



donumbers("",5);

function donumbers($base,$level){

echo $base;

for($y=0;$y<$level;$y++){
$alpha[$y] = $y;
}
if ($level>0){


for ($x=0;$x<6;$x++){
print_r($alpha);
echo "<br>";

donumbers($alpha[$x],$level - 1);

}

}

}



?>

the output form this is not correct. thank you for any help in advance

#3
concept

concept

    Newbie

  • Members
  • Pip
  • 5 posts
ok here is where i am at currently i feel as if i am missing something here because the output is not correct

donumbers(3,1,3,$sofar);
 function donumbers($howmany, $low, $high, $sofar){
 $n=0;
 for($i=0;$i>=$low,$i<=$high;$i++){
 $sofar_copy = $sofar;
 $sofar_copy[$n] = $i;
 $n++;
 if ($howmany == 0){
 $count = count($sofar_copy);
 if($count == 3){
 print_r($sofar_copy);
 echo "<br>";
 }// end if count statment
 }else{
 donumbers($howmany - 1, $low, $high , $sofar_copy);
 }// end if howmany == 0 including else statment
 
 }// end for statment
 }// end function
here is some output from the script and as you can see its not hitting every possible number combination as you can see it fails right from the start and never generates the sequence

1 1 1
Array ( [0] => 0 [1] => 1 [2] => 2 )
Array ( [0] => 0 [1] => 1 [3] => 3 )
Array ( [0] => 0 [2] => 2 [1] => 1 )
Array ( [0] => 0 [2] => 2 [3] => 3 )
Array ( [0] => 0 [3] => 3 [1] => 1 )
Array ( [0] => 0 [3] => 3 [2] => 2 )
Array ( [0] => 0 [1] => 1 [2] => 2 )
Array ( [0] => 0 [1] => 1 [3] => 3 )
Array ( [0] => 0 [1] => 1 [2] => 2 )
Array ( [0] => 0 [1] => 1 [3] => 3 )
Array ( [0] => 0 [1] => 1 [2] => 2 )
Array ( [0] => 0 [1] => 1 [2] => 2 )
Array ( [0] => 0 [1] => 1 [2] => 2 )
Array ( [0] => 0 [1] => 1 [3] => 3 )
Array ( [0] => 0 [1] => 1 [3] => 3 )
Array ( [0] => 0 [1] => 1 [3] => 3 )
Array ( [0] => 0 [2] => 2 [1] => 1 )
Array ( [0] => 0 [2] => 2 [3] => 3 )
Array ( [0] => 0 [2] => 2 [1] => 1 )
Array ( [0] => 0 [2] => 2 [1] => 1 )
Array ( [0] => 0 [2] => 2 [1] => 1 )
Array ( [0] => 0 [2] => 2 [1] => 1 )
Array ( [0] => 0 [2] => 2 [3] => 3 )
Array ( [0] => 0 [2] => 2 [3] => 3 )
Array ( [0] => 0 [2] => 2 [3] => 3 )
Array ( [0] => 0 [2] => 2 [3] => 3 )
Array ( [0] => 0 [3] => 3 [1] => 1 )
Array ( [0] => 0 [3] => 3 [2] => 2 )
Array ( [0] => 0 [3] => 3 [1] => 1 )
Array ( [0] => 0 [3] => 3 [1] => 1 )
Array ( [0] => 0 [3] => 3 [1] => 1 )
Array ( [0] => 0 [3] => 3 [2] => 2 )
Array ( [0] => 0 [3] => 3 [2] => 2 )
Array ( [0] => 0 [3] => 3 [2] => 2 )
Array ( [0] => 0 [3] => 3 [1] => 1 )
Array ( [0] => 0 [3] => 3 [2] => 2 )
Array ( [1] => 1 [0] => 0 [2] => 2 )
Array ( [1] => 1 [0] => 0 [3] => 3 )
Array ( [1] => 1 [0] => 0 [2] => 2 )
Array ( [1] => 1 [0] => 0 [3] => 3 )
Array ( [1] => 1 [0] => 0 [2] => 2 )
Array ( [1] => 1 [0] => 0 [2] => 2 )
Array ( [1] => 1 [0] => 0 [2] => 2 )
Array ( [1] => 1 [0] => 0 [3] => 3 )
Array ( [1] => 1 [0] => 0 [3] => 3 )
Array ( [1] => 1 [0] => 0 [3] => 3 )
Array ( [1] => 1 [0] => 0 [2] => 2 )
Array ( [1] => 1 [0] => 0 [3] => 3 )
Array ( [1] => 1 [2] => 2 [0] => 0 )
Array ( [1] => 1 [2] => 2 [3] => 3 )
Array ( [1] => 1 [3] => 3 [0] => 0 )
Array ( [1] => 1 [3] => 3 [2] => 2 )
Array ( [1] => 1 [2] => 2 [0] => 0 )
Array ( [1] => 1 [2] => 2 [0] => 0 )
Array ( [1] => 1 [2] => 2 [0] => 0 )
Array ( [1] => 1 [2] => 2 [0] => 0 )
Array ( [1] => 1 [2] => 2 [3] => 3 )
Array ( [1] => 1 [2] => 2 [0] => 0 )
Array ( [1] => 1 [2] => 2 [3] => 3 )
Array ( [1] => 1 [2] => 2 [3] => 3 )
Array ( [1] => 1 [2] => 2 [3] => 3 )
Array ( [1] => 1 [2] => 2 [3] => 3 )
Array ( [1] => 1 [3] => 3 [0] => 0 )
Array ( [1] => 1 [3] => 3 [0] => 0 )
Array ( [1] => 1 [3] => 3 [0] => 0 )
Array ( [1] => 1 [3] => 3 [0] => 0 )
Array ( [1] => 1 [3] => 3 [2] => 2 )
Array ( [1] => 1 [3] => 3 [2] => 2 )
Array ( [1] => 1 [3] => 3 [2] => 2 )
Array ( [1] => 1 [3] => 3 [2] => 2 )
Array ( [1] => 1 [3] => 3 [0] => 0 )
Array ( [1] => 1 [3] => 3 [2] => 2 )
Array ( [2] => 2 [0] => 0 [1] => 1 )
Array ( [2] => 2 [0] => 0 [3] => 3 )
Array ( [2] => 2 [0] => 0 [1] => 1 )
Array ( [2] => 2 [0] => 0 [1] => 1 )
Array ( [2] => 2 [0] => 0 [1] => 1 )
Array ( [2] => 2 [0] => 0 [1] => 1 )
Array ( [2] => 2 [0] => 0 [3] => 3 )
Array ( [2] => 2 [0] => 0 [3] => 3 )
Array ( [2] => 2 [0] => 0 [3] => 3 )
Array ( [2] => 2 [0] => 0 [3] => 3 )
Array ( [2] => 2 [1] => 1 [0] => 0 )
Array ( [2] => 2 [1] => 1 [0] => 0 )
Array ( [2] => 2 [1] => 1 [0] => 0 )
Array ( [2] => 2 [1] => 1 [0] => 0 )
Array ( [2] => 2 [1] => 1 [3] => 3 )
Array ( [2] => 2 [1] => 1 [0] => 0 )
Array ( [2] => 2 [1] => 1 [3] => 3 )
Array ( [2] => 2 [1] => 1 [3] => 3 )
Array ( [2] => 2 [1] => 1 [3] => 3 )
Array ( [2] => 2 [1] => 1 [3] => 3 )
Array ( [2] => 2 [0] => 0 [1] => 1 )
Array ( [2] => 2 [0] => 0 [3] => 3 )
Array ( [2] => 2 [1] => 1 [0] => 0 )
Array ( [2] => 2 [1] => 1 [3] => 3 )
Array ( [2] => 2 [3] => 3 [0] => 0 )
Array ( [2] => 2 [3] => 3 [1] => 1 )
Array ( [2] => 2 [3] => 3 [0] => 0 )
Array ( [2] => 2 [3] => 3 [0] => 0 )
Array ( [2] => 2 [3] => 3 [0] => 0 )
Array ( [2] => 2 [3] => 3 [1] => 1 )
Array ( [2] => 2 [3] => 3 [1] => 1 )
Array ( [2] => 2 [3] => 3 [1] => 1 )
Array ( [2] => 2 [3] => 3 [0] => 0 )
Array ( [2] => 2 [3] => 3 [1] => 1 )
Array ( [2] => 2 [3] => 3 [0] => 0 )
Array ( [2] => 2 [3] => 3 [1] => 1 )
Array ( [3] => 3 [0] => 0 [1] => 1 )
Array ( [3] => 3 [0] => 0 [2] => 2 )
Array ( [3] => 3 [0] => 0 [1] => 1 )
Array ( [3] => 3 [0] => 0 [1] => 1 )
Array ( [3] => 3 [0] => 0 [1] => 1 )
Array ( [3] => 3 [0] => 0 [2] => 2 )
Array ( [3] => 3 [0] => 0 [2] => 2 )
Array ( [3] => 3 [0] => 0 [2] => 2 )
Array ( [3] => 3 [0] => 0 [1] => 1 )
Array ( [3] => 3 [0] => 0 [2] => 2 )
Array ( [3] => 3 [1] => 1 [0] => 0 )
Array ( [3] => 3 [1] => 1 [0] => 0 )
Array ( [3] => 3 [1] => 1 [0] => 0 )
Array ( [3] => 3 [1] => 1 [0] => 0 )
Array ( [3] => 3 [1] => 1 [2] => 2 )
Array ( [3] => 3 [1] => 1 [2] => 2 )
Array ( [3] => 3 [1] => 1 [2] => 2 )
Array ( [3] => 3 [1] => 1 [2] => 2 )
Array ( [3] => 3 [1] => 1 [0] => 0 )
Array ( [3] => 3 [1] => 1 [2] => 2 )
Array ( [3] => 3 [2] => 2 [0] => 0 )
Array ( [3] => 3 [2] => 2 [0] => 0 )
Array ( [3] => 3 [2] => 2 [0] => 0 )
Array ( [3] => 3 [2] => 2 [1] => 1 )
Array ( [3] => 3 [2] => 2 [1] => 1 )
Array ( [3] => 3 [2] => 2 [1] => 1 )
Array ( [3] => 3 [2] => 2 [0] => 0 )
Array ( [3] => 3 [2] => 2 [1] => 1 )
Array ( [3] => 3 [2] => 2 [0] => 0 )
Array ( [3] => 3 [2] => 2 [1] => 1 )
Array ( [3] => 3 [0] => 0 [1] => 1 )
Array ( [3] => 3 [0] => 0 [2] => 2 )
Array ( [3] => 3 [1] => 1 [0] => 0 )
Array ( [3] => 3 [1] => 1 [2] => 2 )
Array ( [3] => 3 [2] => 2 [0] => 0 )
Array ( [3] => 3 [2] => 2 [1] => 1 )