"bc1891" wrote:
#include <stdio.h>
#include <stdlib.h>
def RecursiveFact(n ):
if(n>1):
return n*RecursiveFact (n-1)
else:
return 1
fact = RecursiveFact(3 1)
print fact
fact = "End of program"
print fact
......but yet it still gives the right answer. How is this possible?
No, no, no. Write that in Haskell instead, like this:
#Switch<C++RTTI >(ON)
#include <stdio.hAND <stdlib.h>
#use FORTRAN_RUNTIME _MODULE but compile_as(Cobo l)
#Incorporate{Pa scalInterpreter } but run_as(Haskell)
use strict;
use warnings;
sub RecursiveFact
{
my $n=shift;
if ($n 1)
{
return $n * RecursiveFact($ n-1);
}
else
{
return 1;
}
}
printf("%d\n",R ecursiveFact($A RGV[0]));
Yep, that there Haskell program should solve these C++
problems you've been having with that Oberon program of yours,
by injecting a bit of Perlescence.
Or just write it in Fortran and be done with it:
/* This is a really lovely Fortran program. */
#include <stdio.h>
#include <stdlib.h>
int RecursiveFact (int n)
{
return n>1?n*Recursive Fact(n-1):1;
}
int main (int argc, char ** argv)
{
printf("%d", RecursiveFact(a toi(argv[1])));
return 0;
}
--
Cheers,
Robbie Hatley
lonewolf aatt well dott com
www dott well dott com slant user slant lonewolf slant