目录
阶乘累加求和
类型:Python 函数和代码复用
求和 1!+2!+3!…+n!
,n
的值从键盘输入。
示例1:
输入:10
输出:4037913
示例2:
输入:12
输出:522956313
注意:
- 输入使用
input()
,不要增加额外的提示信息; - Python中 input 函数返回值是字符串, 可以使用
int(input())
或eval(input())
来进行转换。
代码:
个人
num = int(input())
s = 0
# 阶乘
def fac(n):
if n==1:
return 1
else:
return n*fac(n-1)
# 求和
for i in range(1,num+1):
s+=fac(i)
print(s)
答案
def fact(n):
term=1
for i in range(1,n+1):
term=term*i
return term #TODO:write code...
n=eval(input())
sum=0
for i in range(1,n+1):
sum=sum+fact(i)
print(sum)
斐波纳契数列 I
类型:Python 函数和代码复用
求斐波纳契(Fibonacci)数列:1, 1, 2, 3, 5, 8... 的前 n
项,n
的值从键盘输入。
示例1:
输入:"10"
输出:"1,1,2,3,5,8,13,21,34,55"
注意:
- 输入使用
input()
,不要增加额外的提示信息; - 输出使用
print()
,不要增加额外的输出信息; - Python中 input 函数返回值是字符串, 可以使用
int(input())
或eval(input())
来进行转换。
代码:
个人
num = int(input())
s = 0
# 前两项求和
def fib(n):
if n in [1,2]:
return 1
else:
return fib(n-1)+fib(n-2)
for i in range(1,num+1):
if i==1:
print(1,end="")
else:
s = fib(i)
print(",{}".format(s),end="")
答案
def f(n):
if n==1 or n==2:
return 1
else:
return f(n-1)+f(n-2)
m=eval(input())
s=""
for i in range(1,m+1):
s+="{},".format(f(i))
print(s[:-1])