【问题标题】:Write a number N as sum of K prime numbers写一个数 N 作为 K 个素数之和
【发布时间】:2014-05-22 09:05:15
【问题描述】:

将一个数N写成K个素数之和有什么条件吗(素数不一定不同)?

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

我的方法-我推断出如果 K>=N 则我们不能将 N 表示为 K 个素数之和的条件。此外,如果 K=1 则通过素数测试我们可以检查 N 是否为素数。同样根据偶数的哥德巴赫猜想(除了2),N可以表示为两个素数之和。

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

【问题讨论】:

  • 这个问题似乎离题了,因为它是关于数学的,应该在Mathematics上提问
  • @Mike:我在这里问是因为 N 和 K 的范围大约是 10^12,这变得无法通过蛮力检查。

标签: sum primes


【解决方案1】:

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。 完成!

例如: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。 完成!

前 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 完成!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多