P24
找出0 1 2 3 4 5 6 7 8 9 字典顺序的第100万个排序
不需要编程,
因为是字典顺序,以最新的0 开头的排列是有9!种,1开头的排列有9!种。2开头的也是9!。01开头的共有七十几万种,加上2的超过了100万。所以开头是2。使用这个规则可以全部定位顺序。
P26
module P26 where
--findCycleSize 找出小数的循环位的位数
--t为中间求模过程,如果有后续的计算有相同的,那么就是可以结束了。
--http://zh.wikipedia.org/wiki/%E5%BE%AA%E7%8E%AF%E5%B0%8F%E6%95%B0
findCycleSize :: Int -> Int ->[Int]->Int
findCycleSize a b t =
let x = a `mod` b in
if x `elem` t then length t
else findCycleSize (x*10) b (x:t)
getSize b = findCycleSize 1 b []