欧拉项目#1。我总是得到错误的答案正好 100,我不知道为什么(写在 F# 中)



我是第一年的CS学生,没有编程知识。建议我解决Euler项目的问题,并设法解决了(几乎)第一个问题。

它指出,您必须总和所有是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个真实答案的关闭。
有什么建议为什么?

向这个问题发布答案,使其他人更容易从错误中学习。

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编码器,以指出更有功能的方法在F#中更惯用。

相关内容

最新更新