recursive factorial-Funktion

wie kann ich diese kombinieren zwei Funktionen in einer rekursiven Funktion, um zu diesem Ergebnis zu kommen:

factorial(6)
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720

dies sind die codes

def factorial( n ):
   if n <1:   # base case
       return 1
   else:
       return n * factorial( n - 1 )  # recursive call
def fact(n):
       for i in range(1, n+1 ):
               print "%2d! = %d" % ( i, factorial( i ) )

fact(6)
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720

wie sehen Sie die Ausführung dieser beiden gibt eine richtige Antwort, ich will nur zu machen, um eine rekursive Funktion.

  • Ich bekomme keine Grund verbindet beides in einer Funktion.
  • Hmm. Ist dieses Hausaufgaben? Was haben Sie bisher ausprobiert?
  • Nicht. Es sieht gut so wie es ist. Die Kombination macht die Dinge schwieriger.
  • FrustratedWithFormsDesigner: letztes Jahr Prüfung ... hahah .... Ich wünschte, ich könnte nehmen Sie die Jungs mit mir zu schreiben, meine Prüfung für mich, aber es ist nicht möglich 😛
  • Der Fragesteller hatte möglicherweise abgestuft, da die Frage. Jedenfalls hoffe ich, dass der Lehrer, der wollte, dass Sie zu implementieren, die die Fakultät rekursiv sagte Ihnen, dass die Effizienz der rekursiven Lösung ist so schrecklich, dass es sollte nie erlaubt sein. 🙂
InformationsquelleAutor user531225 | 2010-12-21
Schreibe einen Kommentar