项目欧拉#50,总和不正确?

时间:2016-04-26 03:34:42

标签: racket primes

  

素数41,可以写成六个连续素数的总和:

     

41 = 2 + 3 + 5 + 7 + 11 + 13这是连续的最长和   素数增加到低于一百的素数。

     

连续素数低于1000的最长总和   素数,包含21个项,等于953。

     

低于一百万的素数可以写成最多的总和   连续素数?

我在这个例子中使用了Racket(方案的方言),但这应该是语言无关的。在这个问题中,它指出前21个连续素数的总和是953.所以,我去测试了这个(我已经为这个问题写了我的代码并且它工作不正常)。

> (define primes (filter prime? (range 2 10000)))
> (apply + (take primes 6)) ; This is 41: Good so far!
> ; This is where it gets odd.
> (apply + (take primes 21)) ; This is 712. And, after further experimentation, there is amount of summed primes that is 953.
> (apply + (take primes 23)) ; This is 874.
> (apply + (take primes 24)) ; This is 963.

我对这个问题缺少什么?

2 个答案:

答案 0 :(得分:3)

Euler #50要求连续素数的总和,它们不一定以第一个素数开始。所示示例以第一个素数开始的事实是偶然的(尽管获胜序列始于素数并非偶然)。

function lineChart() {...} //function declared

function update() {
    var lineChart; // variable created, its value is undefined
    lineChart=lineChart() // linechart is not a function, is an undefined value!
}

这是21个学期。问题描述中没有错误 - 术语“第一个”没有出现在文本的任何地方。

答案 1 :(得分:1)

你读错了这个问题。总和也必须是素数,963不是(例如107 * 9)。