小编mar*_*rco的帖子

28
推荐指数
3
解决办法
3万
查看次数

测试Ints的可分性为11

我现在正在努力解决这个问题.我想确定一个整数是否可以被11整除.从我所读到的,一个整数可以被11整除,当它的数字的和(一次+,一次 - )可被11整除时.

例如:56518可以被11整除,因为8-1 + 5-6 + 5 = 11,11可以被11整除.

我如何在Haskell中写下这个?提前致谢.

math haskell division

4
推荐指数
2
解决办法
5249
查看次数

int - > [int] convert

可能重复:
使用Haskell将数字拆分为数字

如何将整数转换为整数列表Exmple:输入:1234输出:[1,2,3,4]任何关于这个问题的想法?

haskell

2
推荐指数
2
解决办法
9462
查看次数

差异副产品

我需要使用签名创建一个函数diffFolge :: (Integer, Integer) -> [Integer],当应用于参数pair (m, n)(m, n> 0)时,会返回一个降序的数字列表,即数字之间的差异n.结果列表的第一个元素是m,最后一个元素始终大于0且最后一个元素或者0严格小于的值0.

我写的如下:

diffFolge :: (Integer,Integer) -> [Integer]
diffFolge (m,n) = if m > 0 && n > 0 then [m,m-n..n-2*n] else [] 
Run Code Online (Sandbox Code Playgroud)

input  : diffFolge (5,1)
output : [5,4,3,2,1,0]
Run Code Online (Sandbox Code Playgroud)

input  : diffFolge (5,2)
output :[5,3,1,-1]   ---> This is true by my code
Run Code Online (Sandbox Code Playgroud)

但是,使用第一个示例中给出的输入,我的函数返回[5,4,3,2,1,0,-1].我怎么能纠正这个?

syntax haskell

1
推荐指数
1
解决办法
101
查看次数

在else中解析错误

 maxZyklus :: UntereGrenze -> ObereGrenze -> (UntereGrenze,ObereGrenze,MaxZyklaenge)
 maxZyklus m n = if m > n then (m,n,0) else if m == n then 
                         (m,n,length(func m)
                         else 
                         (m,n,length(func m)
 type UntereGrenze = Integer
 type ObereGrenze  = Integer
 type MaxZykLaenge = Integer
Run Code Online (Sandbox Code Playgroud)

我得到else第二个输入的解析错误问题在哪里?

syntax haskell

0
推荐指数
1
解决办法
666
查看次数

类型构造函数或类错误

dreiNplusEins :: Integer -> [Integer]
dreiNplusEins n = if n == 1 then [1] else if n `mod` 2 == 0 then
                        [n] ++ dreiNplusEins (n `div` 2)
                                        else
                        [n] ++ dreiNplusEins (n * 3 + 1)

maxZyklus :: UntereGrenze -> ObereGrenze -> (UntereGrenze,ObereGrenze,MaxZyklaenge)
maxZyklus m n = if m > n then (m,n,0) else if m == n then 
                         (m,n,length(dreiNplusEins m))
                         else 
                         (m,n,0)
type UntereGrenze = Integer
type ObereGrenze  = Integer
type MaxZykLaenge = Integer
Run Code Online (Sandbox Code Playgroud)

这是我的程序,这给出了错误,因为不在范围内:类型构造函数或类`MaxZyklaenge'我该如何解决它?

haskell

0
推荐指数
1
解决办法
1815
查看次数

标签 统计

haskell ×6

syntax ×2

division ×1

int ×1

integer ×1

math ×1