【问题标题】:Express any odd number greater than 5 as the sum of 3 primes将任何大于 5 的奇数表示为 3 个素数之和
【发布时间】:2017-12-08 03:08:36
【问题描述】:

对于给定的奇数 n,我想有效地计算总和等于n3 素数。如果有多种解决方案,那么我想要一个具有最小素数的解决方案(我想要2+2+17=21 而不是3+5+13=21

这是always possible forn>5

我目前的方法是将问题简化为计算总和等于n-32 素数,然后我简单地输出2 计算的素数和3,因为它们显然总和为n。我选择3,因为它是最小的奇数素数,当我从n 中减去它时,我得到一个偶数,因此它应该是我正在寻找的每个解决方案的一部分。我使用this 来计算2 素数的总和,如果n 是偶数,它就可以工作(因为我从奇数n 中减去3)。

我的方法不起作用,因为有些解决方案没有 3 作为总和 (41=2+2+37)。

有没有我遗漏的直接方法?

【问题讨论】:

  • 这可能属于数学,不确定
  • @1blustone 我在一次在线编程竞赛中遇到了这个问题,其中涉及到一些基本的数论。最终的解决方案显然应该是一个解决问题的程序(最好是java)。
  • “我想要 2+2+3=7 而不是 2+5=7” 如果“2+5”甚至不使用 3 个素数,为什么还要选择?
  • @MichaelMarkidis 我的错,编辑了它。
  • 我不明白为什么2+2+17 小于3+5+13

标签: java primes number-theory goldbach-conjecture


【解决方案1】:

首先测试 n-4 是否为素数。如果是这样,您的答案是 {2, 2, n-4}。否则,您的原始方法将起作用。您永远不会只使用一个 2,因为您的总和会是偶数。

【讨论】:

  • 很好的观察,现在我的方法已经完成了。
  • 三个素数中真的总是有两个 2 或一个 3 吗?太棒了。
猜你喜欢
  • 2011-02-14
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多