![]() |
1
77
你听说过吗 div and mod ? 如果您想先处理最重要的数字,那么您可能需要颠倒数字列表。将数字转换成字符串是一种受损的处理方法。
归纳成函数:
反之亦然:
这样对待
请注意,此解决方案不适用于负数(输入
|
![]() |
2
19
或者你可以把它放回
或者,使用data.char.digitpoint:
和丹尼尔的一样,不过是免费的,使用int,因为一个数字不应该超过
|
![]() |
3
13
你也可以重复使用
|
![]() |
4
12
使用你的帖子中使用的相同技术,你可以做到:
见效:
这有帮助吗? |
![]() |
5
9
你可以使用
或者相反的顺序
迭代部分生成一个无限列表,将每一步中的参数除以10,因此12345变为[123451234123,12,1,0,0..]。takewhile部分只接受列表中有趣的非空部分。然后我们反转(如果我们想的话)并取列表中每个数字的最后一位。
我在这里使用了无点样式,所以你可以想象在“等式”的两边有一个看不见的论点。但是,如果你想这样写,你必须替换顶层
|
![]() |
6
9
教科书展开
|
![]() |
7
2
通过列表理解:
输出:
|
![]() |
8
2
下面是对上述答案的改进。这样可以避免在开始时出现额外的0(例如:10为[0,1,0],1为[0,1]。使用模式匹配处理X<10不同的情况:
我本可以把这句话作为对那个答案的回答,但我没有必要的声誉点:( |
![]() |
9
2
Applicative . Pointfree . Origami . 整洁的 享受:
|
![]() |
10
1
返回[整数]的列表
|
![]() |
11
1
接受的答案很好,但在负数的情况下失败,因为
|
![]() |
12
1
我懒得写我的自定义函数,所以我在谷歌上搜索了它,我很惊讶这个网站上的答案都没有提供一个真正好的解决方案高性能和类型安全。所以在这里,也许有人想用它。基本上:
享受:
|
![]() |
13
0
接受的答案是正确的,除了当输入为0时它将输出一个空列表,但是我认为输出应该是
当输入为负时,我认为它不会处理这种情况。下面是我的实现,解决了以上两个问题。
|
![]() |
14
-1
我试图继续使用尾部递归
|
![]() |
15
-2
|
![]() |
trpnd · 如何定义由两个任意单声道变压器组成的单声道变压器? 3 年前 |
![]() |
Fabus1184 · Haskell mapM_不打印 3 年前 |
![]() |
Gotthold · 基于范数约束向量的类型 3 年前 |
![]() |
jian · haskell将另一个函数用作输入参数 3 年前 |
![]() |
Jocafrei · 用Haskell函数实现最大公约数函数 7 年前 |