Gus*_*Gus 5 recursion haskell lexical
我对Haskell编程很新,我无法理解为什么我在代码中收到此错误.
我的问题如下:任何正整数i可以表示为i = 2 ^ n*k,其中k是奇数,即,作为奇数的2倍的幂.我们在i中将n的指数称为n.例如,40的2的指数是3(因为40 = 2 ^ 3*5),而42的2的指数是1.如果i本身是奇数,则n是零.另一方面,如果我是偶数,那意味着它可以除以2.写一个函数exponentOfTwo,用于在其参数中找到2的指数.
我理解伪代码并且看起来相当简单:递归地将i除以2直到结果为奇数,除法发生的次数是n
这是我的代码(第31-32行):
exponentOfTwo :: Int -> Int
exponentOfTwo i = if odd i then 0 else 1 + exponentOfTwo (i 'div' 2)
Run Code Online (Sandbox Code Playgroud)
我在第32行第62列收到错误"字符'i'的字符串/字符文字中的词汇错误".
我试图在任何地方寻找解决这个错误的方法,到目前为止我没有运气.