无心人 发表于 2008-11-21 21:34:45

今天写程序
算串珠素数
稍微优化点
出现了类型推定问题

后来问别人知道
四则运算两边必须是相同类型
加上了toInteger类型转换后搞定

无心人 发表于 2008-11-25 16:43:02

针对
k-smith Number的
haskell求整数数位和的优化
假设做个表,存储4位数字的数位和
digitsSum n = if (n == 0) then 0 else ((n \`mod\` 10) + digitsSum (n \`div\` 10))

let sd = listArray (0,9999) \$ map digitsSum
然后
sd!n就可得到n的数位和(n必须为 0..9999范围)

无心人 发表于 2009-1-10 15:58:50

匿名函数
Prelude Primes> (\x y -> x + y) ((\x -> x + 1) 0) ((\x -> x - 1) 0)
0

northwolves 发表于 2009-1-13 21:29:08

似乎容易入门,想学精,难。

无心人 发表于 2009-1-14 09:27:37

正确

但这个很容易验证数学问题

无心人 发表于 2009-1-17 14:00:40

组合
combination                   :: -> []
combination []                =[[]]
combination (x:xs)            =(map ( ++ ) (combination xs) )++ (combination xs)

排列
permutation :: Eq a => -> []
permutation [] = [[]]
permutation xs = concatMap (\x -> map (x:) \$ permutation (delete x xs)) xs

wayne 发表于 2010-3-23 13:26:37

Haskell
很强大

wayne 发表于 2010-6-11 15:15:17

Haskell有函数作图,符号计算,甚至GUI方面的功能或者第三方库吗

无心人 发表于 2010-6-12 10:38:24

GUI库是有的,作图的不知,网上有对应的第三方库的清单,很好找

至于,符号计算,我想只可能比C/C++强大

lisp是函数式语言的老祖宗,几个老的符号计算包,似乎多是lisp的

无心人 发表于 2010-6-12 17:33:08

http://bbs.emath.ac.cn/viewthread.php?tid=2444&extra=&page=1
上面问题的Haskell程序的一个比较紧凑的写法import List
import Char(ord)

main = do
            print \$ zip [(x, y, x + y)|a<-, b<-\\, c<-\\, let x = 100 * a + 10 * b + c,
                           d<-\\, e<-\\, f<-\\, let y = 100 * d + 10 * e + f,
                           x + y < 1000,
                           (== 10) \$ length \$ nub ((map (\c -> (ord c) - (ord '0')) \$ show (x + y)) ++ )]
页: 1 2 3 4 [5] 6
查看完整版本: Haskell自我娱乐帖