I am currently working on a factorial procedure that figures out a factorial
for a number and eventually I will store it in the mysql database.
I am kind of getting caught up with this program below. I am confused how the
program is executed with all the recursive direct calls to itself. Can
somebody step me through this one slowly so I can see the flow of where a
number gets passed all the way to the end where it returns the final number.
I am getting hung up here the most where the actual recursion takes place
I guess where I am getting lossed is where does the calculation take place and
how does it take place. For instance in this example I pass 5 it then gets to
the line below and evaluates value = 5 * factorial(5-1)-> right there that
tells me to call the function again and pass it 4 then when I get to the line
right below me $value = 4 * factorial(4-1). I don't see where the actual
calculation takes place 5 * 4 * 3 * 2 = 120. Everytime a number gets passed I
feel that somehow what I have done before is gone. Can somebody walk me
through this very carefully so I can see what is really going on.
$value *= factorial($value - 1);
Thanks
#!/usr/bin/perl
sub factorial
{
my $value = shift (@_);
if ($value == 1) {
return $value;
}
else{
$value *= factorial($value - 1);
return $value;
}
}
$result = factorial(5);
print $result;
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php