Methode der faktoriellen Summierung im Python-Code

高洛峰
Freigeben: 2017-03-28 16:48:42
Original
21719 Leute haben es durchsucht

Anforderungen:

Fakultät: Es ist auch ein Begriff in der Mathematik; der Begriff „Fakultät“ bezieht sich auf die Multiplikation von 1 mal 2 mal 3 mal 4 mit der erforderlichen Zahl. Die h-Fakultät wird beispielsweise als h! ausgedrückt. Die Fakultät ist im Allgemeinen schwer zu berechnen, da die Produkte sehr groß sind.

Frage: Finden Sie die Summe von 1+2!+3!+...+20!

Implementierungsumgebung: Python3

Editor:pycharm

Analyse: 1. Die Berechnung der Fakultät ist ein problematischer Teil. Es ist eine bessere Lösung, eine rekursive Funktion zu verwenden, um sie zu implementieren Funktion zur Implementierung der Lösungsfaktorfunktion.

def  recursion(n):
 
   '定义递归函数实现求阶乘功能'
if n==1:
    return 1
else:
 
    return  n*recursion(n-1)
Nach dem Login kopieren

2. Summierungsidee: Sie können direkt summieren oder eine Liste definieren, um das durch für erhaltene faktorielle Ergebnis an die Liste anzuhängen und dann die Summe zu verwenden( ) Funktion zum Finden und.

sum_0=0
print("for循环直接调用递归函数求和".center(80,"*")) #显示效果明显
for  i  in range(1,21):
    sum_0 +=recursion(i)
print(sum_0)
 
列表求和方案:
list=[] #定义一个空的列表,将调用递归函数生成的阶乘值追加到列表
print("将1-20的阶乘写入列表,使用sum函数求和".center(80,"*")) #显示效果明显
for  i  in range(1,21):
    list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表
print(sum(list)) #列表求和
Nach dem Login kopieren

Beide können ihre Funktionen mit der gleichen Anzahl an Codezeilen erreichen.

Wissenspunkte nutzen: rekursive Funktionen, for-Schleifen, range()-Funktionen usw.

Vollständiger Quellcode und Ergebnisse:

#/usr/bin/env python
#_*_coding:utf-8_*_
def  recursion(n):
    '定义递归函数实现求阶乘功能'
    if n==1:
        return 1
    else:
        return  n*recursion(n-1)
list=[] #定义一个空的列表,将调用递归函数生成的阶乘值追加到列表
 
print("将1-20的阶乘写入列表,使用sum函数求和".center(80,"*")) #显示效果明显
for  i  in range(1,21):
    list.append(recursion(i))# 将调用递归函数生成的阶乘值追加到列表
print(sum(list)) #列表求和
sum_0=0
print("for循环直接调用递归函数求和".center(80,"*")) #显示效果明显
for  i  in range(1,21):
    sum_0 +=recursion(i)
print(sum_0)
结果:
*****************************将1-20的阶乘写入列表,使用sum函数求和*****************************
2561327494111820313
********************************for循环直接调用递归函数求和*********************************
2561327494111820313
Nach dem Login kopieren

Es wurde bestätigt, dass beide grundlegende Funktionen erreichen können, Berechnungen mit größeren Datenmengen wurden jedoch nicht getestet.

Das obige ist der detaillierte Inhalt vonMethode der faktoriellen Summierung im Python-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage