二进制表示递归Haskell



输入:两个自然数n,k输出:n

二进制表示的2^k位的数字我的想法是:

Stelle :: Int -> Int 
Stelle n k 

但是现在我有一个问题,我不知道如何处理它。它与递归和div/mod有关但我不知道递归的开始是什么。有人能帮帮我吗?谢谢你

签名应该是:

stelle :: Int -> Int-> Int
stelle n k = …

对于基本情况:当k = 0时,则可以返回n模2,对于递归情况,将n除以2,将k减去1,因此:

stelle :: Int -> Int-> Int
stelle n 0 = …
stelle n k = …

我把实现部分作为练习。

最新更新