1. 斐波拉契数列:这个数列从第三项开始,每一项都等于前两项之和
方法1:
def Fibonacci(m):
a = 1
b = 1
for i in range(m):
i=a
a, b = b, a + b
print(i)
n=int(input(''))
Fibonacci(n)
方法2:
def fbnq(n):
if n <=1:
return n
else:
return fbnq(n-1)+fbnq(n-2)
n=int(input(""))
print(fbnq(n))
2.求两个数的最大公约数。
def hcf(a,b):
x = a % b
while (x != 0):
a = b
b = x
x = a % b
return b
num1=int(input(""))
num2=int(input(""))
print(hcf(num1,num2))
3求两个数的最小公倍数。
def hcf(a,b):
x = a % b
while (x != 0):
a = b
b = x
x = a % b
return b
def lcm(a,b):
return int(a*b/hcf(a,b))
num1=int(input(""))
num2=int(input(""))
print(lcm(num1,num2))
4求阶乘。
def fact(n):
if n == 1:
return n
return n*fact(n-1)
n=int(input(""))
print(fact(n))
5冒泡排序。
题目内容:
冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
已知输入为一个列表,列表中的元素都为整数,我们定义冒泡排序函数为bubbleSort,将列表中的元素按从小到大进行排序后得到一个新的列表并输出
def bubbleSort(alist):
alist2 = []
for i in range(len(alist)):
j = min(alist)
del alist[alist.index(j)]
alist2.append(j)
return alist2
alist=list(map(int,input().split()))
print(bubbleSort(alist))
def bubbleSort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
alist=list(map(int,input().split()))
print(bubbleSort(alist))
6列表元素筛选
题目内容:
已知输入为一个列表,列表中的元素都为整数,我们定义元素筛选函数为foo,功能是检查获取传入列表对象的所有奇数位索引(注意列表的索引是从0开始的)对应的元素,并将其作为新列表返回给调用者
def foo(alist):
blist = []
for i in range(len(alist)):
if i%2!=0:
blist.append(alist[i])
return blist
alist=list(map(int,input().split()))
print(foo(alist))