[projectEuler.net]24;26

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 []

原文地址:https://www.cnblogs.com/jiangzhen/p/2485538.html