我在理解实现Fannkuch的说明时遇到了麻烦。
说明:http://www.haskell.org/haskellwiki/Shootout/Fannkuch

步骤“计算翻转次数,这里是5”之后,我迷路了。

最佳答案

哇,是的,这不是最出色的算法描述:)。

我的解释是他们希望您执行以下操作:

fannkuch(n){
int maxFlips = 0,printCount = 0;
[1..n] {
maxFlips = max(maxFlips,flipCount(p));
如果(printCount++ }
打印(maxFlips);
}

flipCount(p){
int count = 0;
而(p [0]!= 1){
反转(p,p + p [0]);
数++;
}
返回计数;
}

09-25 21:20