项目欧拉#1。我总是把答案弄错了100,我不知道为什么(写在F#中)

时间:2016-12-21 13:06:45

标签: f# computer-science

我是第一年的CS学生,没有编程方面的先验知识。我被建议解决Project Euler的问题,并设法解决(几乎)first problem

它声明您必须将所有数字相加,即3或5(或两者)的倍数。

我在F#中的代码:

let mutable n = 0
for i in 0..1000 do
  if (i % 3 = 0) || (i % 5 = 0) then
    n <- i + n

printfn "%A" n

当这个运行时,我得到的答案是234168,其中有100个真正的答案 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

发布此问题的答案,以便其他人更容易从错误中吸取教训。

let mutable n = 0
for i in 0..999 do
  if (i % 3 = 0) || (i % 5 = 0) then
    n <- i + n

printfn "%A" n

应该给JJJ提供原始提示和Guy Coder,以指出更实用的方法在F#中更具惯用性。