2017-08-01 55 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