python-4. 编写一个求整数n的阶乘(n!)的程序

首先科普下何为阶乘:

阶乘指从1×2×3×4一直乘到所要求的数。

比如所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。 又比如所要求的数是6,则阶乘式是1×2×3×……×6,得到的积是720,720就是6的阶乘。

所以当要求的数是n,则阶乘式是1×2×3×……×n,设得到的积是x,x就是n的阶乘。任何大于1的自然数n阶乘表示方法: n!=1×2×3×……×n  或 n!=n×(n-1)!   5!=5*4*3*2*1=120。

阶乘的公式要记住:

n!=1×2×3×...×(n-1)×n。

本题适用递归方法,大大降低难度,不过首先,必须知道何为递归:

递归是方法自己调用自己自身,每次调用时传入不同的变量,有助于编程解决复杂的问题,同时可以让代码变得简洁。

记住这样就可以开始写了

代码如下:

# 循环实现
n = int(input("请输入一个正整数:"))
factorial = 1                        #阶乘的英文factorial
for i in range(n, 0, -1):
    factorial *= i
print("n! = %d" % factorial)
# 递归实现
i = int(input("请输入一个正整数:"))
def func(i):                        #定义参数
    if i==1:
        return 1
    else:
        return func(i-1)*i
print("n! = %d" % func(i))

效果如下:

 

你可能感兴趣的:(python,开发语言)