主题: Lucky Number
查看单个帖子
  #3 (permalink)  
旧 2008-07-01
liuxinyu 的头像
liuxinyu liuxinyu 当前离线
高级会员
 
注册日期: 2006-02-09
帖子: 311
文章: 49
liuxinyu 正向着好的方向发展
默认 回复: Lucky Number

拿Haskell缩水一下:
代码:
lucky [] x0 = [[]] lucky (d:ds) x0 = [x1:xs | x1<-[x0+d, x0-d], xs<-(lucky ds x1), (x1>=0 && x1<=9)] lucky_numbers ds = [ x1:xs | x1<-[1..9], xs<-lucky ds x1]
运行时:
Lucky> lucky_numbers [7]
[[1,8],[2,9],[7,0],[8,1],[9,2]]
map lucky_numbers (lucky_numbers [7])
[[[1,0,8],[2,1,9],[7,8,0],[8,9,1],[9,8,0]],[[2,0,9],[7,9,0]],[[1,8,8],[1,8,8],[2,9,9],[2,9,9],[7,0,0],[7,0,0],[8,1,1],[8,1,1],[9,2,2],[9,2,2]],[[1,9,8],[8,0,1],[9,1,2],[9,1,0]],[[9,0,2]]]
有bug,待查...

此帖于 2008-07-01 09:36 PM 被 liuxinyu 编辑.
回复时引用此帖