2017-08-01 57 views
1

我试图按照OEIS-A003418中所述为1至n中的所有数字生成最小公倍数。在DrRacket REPL我用下面的代码:将列表传递给DrRacket中的多元函数(方案)

(lcm (apply values (build-list 256 add1))) 

,给了我一个“结果参数数量不匹配”错误(预计1,收到的256)。当我省略lcm时,我得到一个从1到256输出到控制台的序列。我不确定引起不匹配的原因,因为lcm应该能够采用任意多个参数(根据the docs),并且apply似乎正在做我期望的最外层功能,而不是输入到lcm。我错过了什么?另外,如果从1到n编写LCM有一个更简单的方法,请随时分享。

回答

1

有固定的参数数量和非固定元数之间没有区别,当您使用apply

(apply lcm (build-list 256 add1)) 
+0

啊。我看到我误解了如何使用应用程序。谢谢! – hatch22