]> git.deb.at Git - debienna.git/blob - FactTailCall/index.mdwn
initial import from moinmoin
[debienna.git] / FactTailCall / index.mdwn
1 FactTailCall hier beschreiben...\r
2 \r
3 {{{\r
4 import sys\r
5 \r
6 def fact(x):\r
7         ##print 'entered fact ', x\r
8         if x==1:\r
9                 result= 1\r
10         else:\r
11                 result= fact (x-1)*x\r
12         print 'leaving fact ', result\r
13         return result\r
14 \r
15 \r
16 def fact_tail_call(x,c):\r
17         #print 'entered fact_ ', x, ' ', c\r
18         if x==1:\r
19                 print c\r
20                 raise 'done'\r
21                 #result= c\r
22         else:\r
23                 result= fact_ (x-1,c*x)\r
24         print 'leaving fact_ ', result\r
25         return result\r
26 \r
27 fact (200)\r
28 fact_tail_call (200, 1)\r
29 }}}\r
30 \r
31 ----\r
32 CategoryCodeSnippets