在 Python 中检查 n 的程序可以表示为 k 个素数的总和
假设我们有两个输入n和k。我们必须检查n是否可以表示为k个素值的总和。
因此,如果输入类似于n=30k=3,那么输出将为True,因为30可以表示为2+11+17。
示例
让我们看看以下实现以获得更好的理解-
def check_prime(num): if num > 1: for i in range(2, num): if num % i == 0: return False return True return False def solve(n, k): if n < k*2: return False if k > 2: return True if k == 2: if n%2 == 0: return True if check_prime(n-2): return True return False if check_prime(n): return True return False n = 30 k = 3 print(solve(n, k))
输入
30, 3输出结果
True