我想我已经在Haskell中正确地计算了:f1 x = if x < 10 then [x] else (f1 (div x 10))++[modluhn 49927398717 ==> False
现在我必须创建一个新的函数sigLuhn,在给定一个整数n的情况下,使用luhn n == True,然后sigLuhn n给出数字,这样如果我们将数字加到最后的数字到n,那么新的数字也会验证
我试图使用以下代码实现luhn算法:luhn x = (tail $ show (foldl (\acc x -> acc + (read x :: Int))(Integral a1, Integral [a2]) => In an equation for ‘luhndivMod` 10) . (* 2)) y)) : acc
我目前正在阅读“”一书(到目前为止,这本书绝对令人惊讶),但在练习4.8.8中遇到了一个问题。任务是在Haskell中实现,使用帮助函数luhnDouble :: Int -> Int (如果结果大于9,它将数字加倍并减去9)和mod函数。实现luhnDouble函数没有问题,但我很难将这两个函数都转换为Int -> Int -> Int -> Int -> Bool类型的函数。我试过两种方法:
luhn :: Int -> Int -> Int -> In