Technology sharing

Algorithmus recursivus [Calculating Factorialis]

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

recursive algorithmusEst ars programmandi late in scientia computatrum et mathematica quae permittit muneradirectumor *mediateterravocant se solvere problema.recursiveBasic ideaEst compositio problematum complexorum in minora, problemata sub- similia, donec hae quaestiones sub- simplices satis directe solvantur.

Algorithms recursivum duas partes principales plerumque continent:

  • Base Case: Haec est terminationis condicio recursivae appellatio, id est, problema simplicissima instantia, quae directe sine ulteriori vocatione recursiva responderi potest.
  • Casus recursivus: Hic est processus problema solvendi problemata in minores sub-difficultates et solvendas has sub-difficultates per vocat recursivas. Casus recursivus curare debet ut unaquaeque vocatio ad basim procedat.

Gradus algorithmi recursivi:

  • Causas bases notificamus: Determina quae problemata directe solvi possunt sine ulteriori vocatione recursiva.
  • Definire recursionis condiciones: Define quomodo magnam quaestionem frangere in minora problemata sub- problemata et quomodo solutiones sub- problematum componendi ad solutionem quaestionis originalis acquirendae.
  • Guarantee recursivae concursus: Perficite ut recursivae vocatus tandem ad basim casui perveniet et infinitam recursionem evitet.

Commoda et incommoda algorithmorum recursivorum;

commodum: Codex brevis est, logica perspicua est, et facile est intelligere et scribere.
defectus : may be less efficient than iterativus solutio, quia maius munus involvit vocationis caput. Praeterea recursus, qui nimis profundus est, errores inundationis acervus causare potest.

Recursio habet applicationes in multis algorithmis, utarbor traversalAliquam lacinia purus quaerereEdidit programmata etc. . Proprius usus recursus simpliciorem reddere potest problemata multiplicia solvenda.

Exemplum: Calculate factorial

def factorial(n):#自定义求n的阶乘函数
        if n==1:#判断n=1
                return 1#返回1结束
        else:#递归条件 即n!=1
                return n*factorial(n-1)#递归求阶乘

number = int(input("请输入一个正整数:"))#输入n的值
result = factorial(number)#调用阶乘函数
print("%d 的阶乘是 %d" %(number,result))#输出结果
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Insert imaginem descriptionis hic

Code explicatio

factorial Munus accipit modulo n quem numerus officinarum iniri.Quod exprimitur factorialn!Definiuntur omnia minora vel aequalia n Productum integrorum positivorum. Exempli gratia5! = 5 × 4 × 3 × 2 × 1 = 120

Intra munus;

  • Basis causa: si n Si 1 aequalis, munus 1 directe redit. Haec est terminatio conditionis recursionis, quia factorialis 1 1 definitur.
  • Recursive causa: si n non = I, munus voluntatisn etfactorial(n-1) Eventus multiplicantur.factorial(n-1) est verumfactorial officiumVocatio ipsum sed modulus reducitur per 1 .Haec vocatio perseveret usque adn attingit 1 .

Clavis recursionis est quod singuli vocationes recursivae propius ad casum basim moventur, tandem ad basim attingens et ad bona reverti incipiens. In hoc exemplo, singulae vocationis recursivae n per 1 decrescit, donec n fiat 1 .

Animadverte:

Recursio occurrant quaestiones perficiendi vel ACERVUS errorum redundantia cum magnas valores tractantes, quia unumquodque munus vocatio accipit partem spatii ACERVUS. Nam operationes mathematicae simplices sicut officinae, sunt saepe efficaciores et methodi iterativae memoriae amicabiles. Recursio tamen viam praebet lepidam et facilem ad quaedam problemata solvenda.