无心人
发表于 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)) ++ )]