用Python3写出以下问题的代码,现有一个无限大的斐波那契数列构成的数组array,现给定一个整数n,和一个整数k,将n拆分成k个整数,n1、n2...nk,可以拆分成两个相同的数,例如n=10,k=2就可以拆分成n1= 5, n2= 5),并且n1, n.., nk都属于arr ,如果可以满足这种拆分返回Yes,否则返回No.
时间: 2023-04-04 09:01:52 浏览: 106
基于Python实现整数拆分(组合数学作业)【100012822】
以下是Python3代码:
def check_split(n, k, arr):
if n % k != :
return "No"
target = n // k
count =
for num in arr:
if num > target:
return "No"
count += num // target
return "Yes" if count >= k else "No"
# 示例
array = [1, 1, 2, 3, 5, 8, 13, 21]
n = 20
k = 4
print(check_split(n, k, array)) # 输出 Yes
阅读全文