day004--递归求某数的阶乘(代码片段)

JunSheep JunSheep     2022-11-01     535

关键词:

004-- 用递归求解某数的阶乘

n的阶乘:n(n-1)(n-2)(n-3)****1

 

流程分析:                                                                            

1、输入某个数字n,计算该数字的阶乘:n!

2、递归求阶乘函数,参数为n:

  2.1、判断数字是否等于1,如果等于1 ,函数返回1

  2.2、如果函数不返回1,则函数返回n*fun(n-1),以此递归

 

代码分析:                                                                            

 

def factorial(n):
    if n==1:
        return 1
    return n*factorial(n-1)

def main():
    n=input("请输入数字的阶乘:")
    if n.isdigit():
        n=int(n)
        print("%d的阶乘为%d"%(n,factorial(n)))
    else:
        print("输入的值非数字!")

if __name__=="__main__":
    main()

 

 

题目反思 :                                                                            

1、这算是我第一次做递归题把,虽然题目很简单,但是这个方法并不是我自己想到的,而是百度搜索的,很羞耻。

2、递归其实就是函数满足某个条件后,运行本身函数,直到不满足条件为止(个人理解,不对还望改正)

 

新学知识点:                                                                          

1、阶乘的函数编写,运用递归的思维

2、初步了解递归的用法

 

Mark on 2018.04.07

004-递归(代码片段)

一、递归递归就是方法自己调用自己,每次调用时传入不同的变量。有助于编程者解决复杂的问题,同时可以让代码变得简洁。递归用于解决什么样的问题各种数学问题如:8皇后问题,汉诺塔,阶乘问题,迷宫问题,球和篮子的... 查看详情

求解大于某数的下一个素数

求解大于某数的下一个素数问题,常见于求某一范围内的所有素数,第k个素数问题中,由于素数一定是奇数,而两个相邻奇数之间一定相差2,所以只要在奇数中查找即可:代码如下intNextPrime(intN){if(N%2==0)++N;inti;boolNotPrime=false;for(... 查看详情

c语言基础:递归(数的阶乘斐波那契数列)(代码片段)

1.递归递归指的是在函数的定义中使用函数自身的方法。语法格式如下:voidrecursion()statements;.........recursion();/*函数调用自身*/.........intmain()recursion();流程图:C语言支持递归,即一个函数可以调用其自身。但在使用递归... 查看详情

523.continuoussubarraysum是否有连续和是某数的几倍(代码片段)

[抄题]:Givenalistof non-negative numbersandatarget integer k,writeafunctiontocheckifthearrayhasacontinuoussubarrayofsizeatleast2thatsumsuptothemultipleof k,thatis,sumsupton*kwhe 查看详情

java中递归的简单应用(代码片段)

递归是一种非常常见的编程技巧,它可以将一个复杂的问题分解成更小的问题,然后递归地解决这些小问题,最终得到整个问题的解。递归的本质就是函数调用自身。我们来看一个简单的例子:计算阶乘。阶乘是指将一个数和它... 查看详情

(c语言试题练习)用递归方式求1——n之间的阶乘(代码片段)

(C语言试题练习)用递归方式求1——n之间的阶乘数的阶乘n的阶乘公式阶乘乘积公式阶乘递推关系公式阶乘公式阶乘经常写成感叹号:N!。一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的... 查看详情

领跑计划day004css(代码片段)

引入Css及Css选择器1.引入css行内样式(行间样式)<divstyle="background-color:red;"></div>内部样式<style>/*设置边框*/table,tdborder:1pxsolid#333;thead,tfootbackground-color:#333;colo 查看详情

领跑计划day004css(代码片段)

引入Css及Css选择器1.引入css行内样式(行间样式)<divstyle="background-color:red;"></div>内部样式<style>/*设置边框*/table,tdborder:1pxsolid#333;thead,tfootbackground-color:#333;colo 查看详情

day004-map类(代码片段)

 1、Map集合概述      Map是一个接口,只要是实现了该接口的类就是一个双列集合。      双列集合就是每次存储元素时需要存储两个元素的集合。      这两个... 查看详情

用递归函数求n的阶乘及斐波那契数列中的第n个数的值(代码片段)

题目要求:使用递归函数求n的阶乘及斐波那契数列中第n项的值。1.求n的阶乘:一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。计算公式为n!=1×2×3×...×n;递推公式可写作n!=n&t... 查看详情

领跑计划day004html(代码片段)

表格和其他的补充1.表格:HTML的table元素表示表格数据—即通过二维数据表表示的信息。<!-- colspan跨列 rowspan跨行--><table><thead><tr><thcolspan="2">Thetableheader</th></tr></thea 查看详情

领跑计划day004html(代码片段)

表格和其他的补充1.表格:HTML的table元素表示表格数据—即通过二维数据表表示的信息。<!-- colspan跨列 rowspan跨行--><table><thead><tr><thcolspan="2">Thetableheader</th></tr></thea 查看详情

递归算法之阶乘代码实现与非递归实现(代码片段)

  求一个自然数n的阶乘,也非常适合用递归的方式实现。当然,所有的递归都可以用非递归的方式来实现,只是在代码结构上将显得啰嗦和复杂。现代编译器对递归函数的调用开销已经大幅优化,因此,对于类似汉诺塔等问... 查看详情

递归--求n!的阶乘结果(代码片段)

递归的基本概念?一个函数调用其自身,就是递归?求n!的递归函数通过函数递归的方式实现求函数的阶乘。Python代码如下:#求阶乘defFactorial(n):if(n==1):return1else:returnn*Factorial(n-1)defmain():n=int(input("请输入需要计算的阶乘数值:"))rtn=Fa... 查看详情

递归求阶乘(代码片段)

deffactorial(n):result=nforiinrange(1,n):result*=ireturnresultnumber=int(input("请输入一个正整数:"))result=factorial(number)print("%d的阶乘是:%d"%(number,result))-----deffactorial(n):ifn==1:return1else:returnn*fa 查看详情

用递归的方式实现阶乘(代码片段)

packagecom.Summer_0422.cn;/***@authorSummer*5!的实现,应用递归*/publicclassTest06publicstaticvoidmain(String[]args)System.out.println(fun(5));privatestaticintfun(inti)if(i==1)//如果i的值为1,则返回这个值为1,因为1!=1ret 查看详情

大数乘法,递归计算50的阶乘(代码片段)

publicstaticvoidmain(String[]args)Stringresult=factrial(100);System.out.println(result);//计算两个数的乘积privatestaticStringproduct(Stringa,Stringb)//将字符串b转变为整形数字intintb=Integer.parseInt(b);int[]ints=newint[a.length()];//将数字字符串String转换为整形数组int... 查看详情

csharp如何使用递归计算整数的阶乘的示例。(代码片段)

查看详情