在 Python 中检查 n 的程序可以表示为 k 个素数的总和

假设我们有两个输入 n 和 k。我们必须检查 n 是否可以表示为 k 个素值的总和。

因此,如果输入类似于 n = 30 k = 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

以上是 在 Python 中检查 n 的程序可以表示为 k 个素数的总和 的全部内容, 来源链接: utcz.com/z/347462.html

回到顶部