我正在尝试选择函数式编程并决定从Project Euler上的问题1开始:基本上将所有小于1000的数字加上3或5整除(链接:链接).
这是我写的代码.它输出3或5的因子列表(仍需要弄清楚如何求和).
import Html exposing (text)
import Array
main =
text (
toString
[findSum_maxZ 3 5 1000]
)
findSum_maxZ x y max_z =
Array.filter isDivisible_x_or_y (Array.initialize max_z identity)
isDivisible_x_or_y x =
if x % 3 == 0 || x % 5 == 0 then True else False
Run Code Online (Sandbox Code Playgroud)
我的问题是我引用了3和5两次,但是我不能用更抽象的'x'和'y'的附加参数调用isDivisible.我的目标是确定删除这些人为可变值的有效方法,以便最终用户只需修改一次输入值.有什么建议?
我很抱歉,如果这个问题很愚蠢,没有很多关于ELM的信息(特别是与我使用过的python,c,c ++,java等相比),我仍然对函数式编程术语不太满意.任何和所有的帮助表示赞赏.