题目(1):
编写一个能够计算给定数阶乘的程序,比如输入8则输出40320并打印在控制台上
思路:
两种方法:
方法一是递归法,也就是n*n-1*n-2*...*3*2*1。
方法二是迭代法,也就是正常逻辑的1*2*3*4*.....。化为程序逻辑就是1*2*3*...*n。
用for i in range函数
解题:
递归法
def fact(n):
if n==0:
return 1
return n*fact(n-1)
print('请输入一个数字:')
n=int(input())
print(fact(n))
#或者
def fact(n):
if n == 1:
f = 1
else:
f = fact(n - 1) * n
return f
print('请输入一个数字:')
n=int(input())
print(fact(n))
迭代法
def fact(n):
s=1
for i in range(1,n+1):
s=s*i
return s
print('请输入一个数字:')
n=int(input())
print(fact(n))
题目(2):
求a!+b!+c!
思路:
解题:
def fact(x):
if x==0:
return 1
return x*fact(x-1)
print('请输入一个数字:')
x=int(input())
print(fact(x))