Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 测试整数被13和7整除_Math_Haskell_Division - Fatal编程技术网

Math 测试整数被13和7整除

Math 测试整数被13和7整除,math,haskell,division,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 您可以使用&&检查这两种情况。仅当两个操作数均为真时,整体求值才为真。此运算符适用于许多(类C)语言 比如: 警告:可能有更好的方法。我刚踏入哈斯克

问题-在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 

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

比如:


警告:可能有更好的方法。我刚踏入哈斯克尔的世界。:)

模块划分,其中
可除性::[Int]->[String]
可除性(x:xs)=地图显示([如果x
mod
13==0&&x
mod
7==0,则“除以13和7”
否则,如果x
mod
13==0,则“除以13”

如果x
mod
7==0,那么“divideby7”else show(x)|谢谢你。我对哈斯凯尔的世界也很陌生。我尝试过这种方法,但没能得到。非常感谢
[100,99,…]
不会在0处停止,所以如果你在检查
头部(过滤器p[100,99]),其中px=(x`mod 13==0)和(x`mod 21==1)
你会得到-104。但这暗地里是一件好事。如果你真的使用了
[100,99..1]
你会得到一个例外。一个好的折衷办法可能是使用
列表来代替
头部
,并使用
猪油::(积分a)=>可能是一个
,所以你只能在1到100之间查找,但可以安全地失败。@rampion,
listToMaybe.filter p
find
的定义。我不知道,谢谢!嗯,
filter p
生成所有可被13整除的数字。现在,在这些数字中,过滤掉所有可被7整除的数字。显然,组成filters
filter(==0)。(`mod``7))。filter(==0)。(`mod``13))
与使用
&
组合谓词相同,如下所示。这实际上并没有回答问题。请重新阅读问题并阅读现有答案,然后再决定是否有新内容可供贡献(在这种情况下,您应该编辑您的答案)或者不编辑您的答案,在这种情况下,您应该删除您的答案。所问的问题是关于haskell程序,该程序可以同时检查13和7的可除性,适用于任意数量的列表,而不仅仅是1到100。您是否至少尝试过此程序,并在评论之前查看了。。
lard :: (Integral a) => a  
lard = head ( filter p[100,99..]) 
    where p x   = (x `mod` 13 == 0) && (x `mod` 7 == 0)