Aar*_*rtz 2 haskell functional-programming
我想要一个像这样的列表
[x^0,x^1,x^2,x^3 ...]
Run Code Online (Sandbox Code Playgroud)
是否有可能有这样的清单
例如
ex : x = 2 [1,2,4,8,16,32 ..]
Run Code Online (Sandbox Code Playgroud)
您可以多次使用iterate
或unfoldr
加倍数字.这可能比x^n
为每个计算更有效n
.
下面,我使用x=2
,但你可以使用任何x
.
> take 10 $ iterate (*2) 1
[1,2,4,8,16,32,64,128,256,512]
> take 10 $ unfoldr (\x -> Just (x,2*x)) 1
[1,2,4,8,16,32,64,128,256,512]
Run Code Online (Sandbox Code Playgroud)
还要注意有界整数类型Int
会以这种方式快速溢出.