# 乘积值
# def cal(list):
# result = 1
# for num in list:
# result *= num
# print(result)
#
# cal([2, 3, 5, 7, 11])
# 递归
# def f(n):
# if n == 1:
# return 1
# if n == 2:
# return 2
# if n > 2:
# return f(n-1)+f(n-2)
# print(f(7))
# 求100以内的质数
# list = []
# for i in range(2,101):
# for j in range(2,i):
# if i % j == 0:
# break
# else:
# list.append(i)
# print(list)
# 二分查找
# L = [1, 2, 3, 3, 4, 6, 7, 7, 7, 8]
# def f(k):
# m = 0
# n = len(L) - 1
# while m <= n:
# mid = (m+n)//2
# if L[mid] == k:
# return mid
# elif L[mid] <= k:
# m = mid+1
# else:
# n = mid-1
# else:
# return -1
# print(f(3))
# 冒泡排序
# arr = [64, 34, 25, 12, 22, 11, 90]
# def f(arr):
# n = len(arr)
# for i in range(n):
# swap = False
# for j in range(n - i - 1):
# if arr[j] > arr[j + 1]:
# arr[j], arr[j + 1] = arr[j + 1], arr[j]
# swap = True
# if not swap:
# break
# return arr
# print(f(arr))
# 输出数组中重复数字
# L = [1,2,33,45,6,2,33,4,4,5,33,6,4]
# def f(L):
# list = []
# for i in range(len(L)):
# for j in range(i+1,len(L)):
# if L[i] in list:
# break
# elif L[i] == L[j]:
# list.append(L[i])
# break
# return list
# print(f(L))
# 倒序输出不重复的数字
# L=[12,3,33,33,4,2,4,3]
# list = sorted(set(L),reverse=True)
# print(list)