写一个数字N作为K素数的总和

时间:2014-05-22 09:05:16

标签: sum primes

是否有条件将数字N写为K素数的总和(素数不一定是不同的)?

示例:如果N = 6且K = 2,那么我们可以将N写为6 = 3 + 3,而如果N = 11且K = 2,则我们不能将11表示为两个素数的总和。

我的方法 - 我推导出条件,如果K> = N,那么我们不能将N表示为K prime的总和。如果K = 1,那么通过素性测试我们可以检查N是否是素数。同样,通过哥德巴赫对偶数(2除外)的推测,N可以表示为两个素数之和。

但主要问题是我无法预测K> = 3。

1 个答案:

答案 0 :(得分:0)

1.好吧,首先列出小于等于N的所有素数。

2.Brute Force Approach with backtracking method。

前:

N = 8

k = 2。

  1. 2 2
  2. 2 3
  3. 2 5
  4. 2 7
  5. 3 3(不要再考虑3和2)
  6. 3 5。 完成!
  7. ex:2

    N = 12, k = 4

    1. 2 2 2 2
    2. 2 2 2 3
    3. 2 2 2 5
    4. 2 2 2 7
    5. 2 2 3 3(不要再检查2232)
    6. 2 2 3 5。 完成!
    7. 前3:

      N = 11, k = 3

      1. 2 2 2
      2. 2 2 3
      3. 2 2 5
      4. 2 2 7
      5. 2 2 11
      6. 2 3 3(不要再检查232)
      7. 2 3 5
      8. 2 3 7> 11(不检查2311)
      9. 3 3 3(不要再检查32 ..系列。) 10.3 3 5 完成!