1.不死兔子
代码
def demo(num):
if num == 1 or num == 2:
return 1
return demo(num-1) +demo(num -2)
#打印第20个月的兔子数量
print(demo(20))
2. 输入字符串,判断该字符串是否是回文字符串
def is_palindrome(s):
s = ''.join(ch.lower() for ch in s if ch.isalnum())
# 比较字符串与其逆序字符串是否相等
return s == s[::-1]
string = input("请输入一个字符串:")
if is_palindrome(string):
print("是回文字符串")
else:
print("不是回文字符串")
3.给定一个正整数N,找出1到N(含)之间所有质数的总和
def is_prime(number):
if number < 2:
return False
for i in range(2, int(number**0.5) + 1):
if number % i == 0:
return False
return True
def sum_primes(N):
prime_sum = 0
for num in range(2, N + 1):
if is_prime(num):
prime_sum += num
return prime_sum
N = int(input("请输入一个正整数N:"))
total_sum = sum_primes(N)
print(f"1到{N}之间所有质数的总和为:{total_sum}")
4.求 a+aa+aaa+.......+aaaaaaaaa=?其中a为1至9之中的一个数,项数也要可以指定
def calculate_sum(a, n):
# 将 a 转换成字符串形式
a_str = str(a)
total_sum = 0
current_term = a
for i in range(1, n+1):
total_sum += current_term
current_term = int(a_str * i)
return total_sum
a = int(input("请输入 a 的值(1-9之间的整数):"))
n = int(input("请输入项数:"))
result = calculate_sum(a, n)
print(f"a+aa+aaa+...+aaaaaaaaa 的值为:{result}")
5.合并两个有序数组,合并后还是有序列表
def merge_sorted_arrays(nums1, nums2):
merged = [0] * (len(nums1) + len(nums2))
i = j = k = 0
while i < len(nums1) and j < len(nums2):
if nums1[i] <= nums2[j]:
merged[k] = nums1[i]
i += 1
else:
merged[k] = nums2[j]
j += 1
k += 1
while i < len(nums1):
merged[k] = nums1[i]
i += 1
k += 1
while j < len(nums2):
merged[k] = nums2[j]
j += 1
k += 1
return merged
nums1 = [1, 3, 5]
nums2 = [2, 4, 6]
merged = merge_sorted_arrays(nums1, nums2)
print("合并后的有序数组:", merged)
6.给定一个非负整数数组A,将该数组中的所有偶数都放在奇数元素之前
def sort_even_odd(nums):
left = 0
right = len(nums) - 1
while left < right:
if nums[left] % 2 == 0 and nums[right] % 2 != 0:
nums[left], nums[right] = nums[right], nums[left]
if nums[left] % 2 != 0:
left += 1
if nums[right] % 2 == 0:
right -= 1
return nums
nums = [3, 1, 2, 4, 5, 6, 7, 8, 9]
result = sort_even_odd(nums)
print("重新排序后的数组:", result)
7. 给定一个非负整数数组A,该数组的元素都是从1~N的元素组成,现在发现其中确实一个,请找出这个确实的元素
def find_missing_element(nums):
n = len(nums)
expected_sum = (n + 1) * (n + 2) // 2
actual_sum = sum(nums)
missing_element = expected_sum - actual_sum
return missing_element
nums = [1, 2, 3, 4, 6, 7, 8, 9, 10]
result = find_missing_element(nums)
print("确实的元素是:", result)