测试整数的可分性为13和7

时间:2014-01-31 12:17:07

标签: math haskell division

问题 - 在0-100之间可被13和7整除的最大数字。

我正在尝试在Haskell中编写一个代码来检查13和7的可分性。我可以写13但不能在同一代码中检查7。

lard :: (Integral a) => a  
lard = head ( filter p[100,99..]) 
    where p x   = x `mod` 13 == 0 

2 个答案:

答案 0 :(得分:3)

您可以使用&&检查这两种情况。仅当两个操作数均为真时,总体评估才为真。此运算符适用于许多(类C语言)

像:

lard :: (Integral a) => a  
lard = head ( filter p[100,99..]) 
    where p x   = (x `mod` 13 == 0) && (x `mod` 7 == 0)

警告:可能有更好的方法可以做到这一点。我刚刚走进了Haskell的世界。 :)功能

答案 1 :(得分:-1)

module Division where divisibility :: [Int] -> [String] divisibility (x:xs) = map show([if x13 == 0 && x7 == 0 then "divideby13and7" else if x13 == 0 then "divideby13" else if x7 == 0 then "divideby7" else show(x)| x<-x:xs]