不死兔子(一对刚刚出生的兔子,四个月之后,会称为成年的兔子,成年兔子每月会生一对小兔子,等N月时,共有多少对兔子)
def rabbit(n):
if n <= 0:
print('error')
elif 0 < n <= 4:
return n
else:
return rabbit(n - 1) + rabbit(n - 3)
n = int(input("请输入相关的月份:"))
print(rabbit(n))
输入字符串,判断该字符串是否是回文字符串
def is_palindromic(num):
str_len = len(num)
index = str_len // 2
str1 = num[:index]
str2 = num[index:][::-1]
if str1 == str2:
return True
else:
return False
nums = input("请输入要判断的字符串:")
if is_palindromic(nums):
print("是回文字符串")
else:
print("不是回文字符串")
给定一个正整数N,找出1到N(含)之间所有质数的总和
def prime_number(n):
i = 2
if n % 2 == 0 and n != 2 or n == 1:
return False
for i in range(2, n // 2):
if n % i == 0:
return False
return True
def find_sum(n):
s = 0
for i in range(1, n):
if prime_number(i):
s += i
return s
num = int(input("请输入:"))
print(f"1~{num}的质数和为:{find_sum(num)}")
求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定。
def accumulation(a, i):
if a >= 10 or a <= 0:
return -1
s = a
for j in range(1, i):
s += (a * 10 + a)
return s
num = int(input("请输入a:"))
num1 = int(input("请输入项数:"))
print(f"和为{accumulation(num, num1)}")
合并两个有序数组,合并后还是有序列表
def merge_sorted_arrays(arr1, arr2):
merged_arr = []
i = 0
j = 0
while i < len(arr1) and j < len(arr2):
if arr1[i] < arr2[j]:
merged_arr.append(arr1[i])
i += 1
else:
merged_arr.append(arr2[j])
j += 1
merged_arr.extend(arr1[i:])
merged_arr.extend(arr2[j:])
return merged_arr
arr1 = list(map(int , input("请依次输入有序列表1(使用空格隔开):").split(" ")))
arr2 = list(map(int , input("请依次输入有序列表2(使用空格隔开):").split(" ")))
print(f"未合并的列表:{arr1},{arr2}")
merged = merge_sorted_arrays(arr1, arr2)
print(f"合并后的列表{merged}")
给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
def even_before_odd(ls = []):
'''
将一个非负整数数组中的所有偶数都放在奇数元素之前
'''
for i in range(len(ls)):
if ls[i] % 2 != 0:
for j in range(i+1,len(ls)):
if ls[j] % 2 == 0:
ls[i],ls[j] = ls[j],ls[i]
break
return ls
ls = [1,2,3,4,5,6,7,8,9]
print(f'原列表为:{ls}')
print(f'将偶数置于奇数前,列表变为:{even_before_odd(ls)}')
给定一个非负整数数组A,该数组的元素都是从1~N的元素组成,现在发现其中缺少一个,请找出这个缺少的元素
def find_num(nums):
for i in range(len(nums) - 1):
if nums[i + 1] - nums[i] != 1:
return nums[i] + 1
return -1
num = [1, 2, 3, 5, 6, 7, 8, 9]
print(f"缺少的元素为:{find_num(num)}")
小明有一堆苹果,他每天吃掉这堆的一半加一个,等第六天,小明剩余1个苹果,问,这堆苹果共多少个?
def count(n):
i = 0
s = 1
while i < n:
s += (2 * s + 1)
i += 1
return s
num = int(input("小明吃了几天:"))
print(f"原来有{count(num)}个苹果")