首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >把数N写成K素数的和

把数N写成K素数的和
EN

Stack Overflow用户
提问于 2014-05-22 09:05:15
回答 1查看 1.4K关注 0票数 1

是否有条件将数N写成K素数之和(素数不一定不同)?

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

我的方法-我推导了一个条件,如果K>=N,那么我们不能表示N为K的和,primes.Also,如果K=1,那么通过素数检验,我们可以检验N是否是素数。用goldbach关于偶数(除2) N的猜想也可以表示为两个素数之和。

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

EN

回答 1

Stack Overflow用户

发布于 2014-05-22 12:23:24

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

2.采用回溯法的蛮力法。

例:

N=8

K= 2。

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

例:2

N= 12,k=4

  1. 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完成!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23802308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档