1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| import random
def find_max_min(arr, low, high): if low == high: return arr[low], arr[low] elif high - low == 1: if arr[low] < arr[high]: return arr[high], arr[low] else: return arr[low], arr[high] else: '''分治法的递归过程''' mid = (low + high) // 2 max1, min1 = find_max_min(arr, low, mid) max2, min2 = find_max_min(arr, mid + 1, high) return max(max1, max2), min(min1, min2)
n = int(input("请输入要生成的随机数的数量: ")) arr = [random.randint(1, 1000) for _ in range(n)] max_num, min_num = find_max_min(arr, 0, len(arr) - 1) print(f"生成的随机数列表: {arr}") print(f"最大数: {max_num}, 最小数: {min_num}")
|