Source code
Revision control
Copy as Markdown
Other Tools
function fannkuch() {
var count = Array(8);
var r = 8;
var done = 0;
while (done < 40) {
// write-out the first 30 permutations
done += r;
while (r != 1) { count[r - 1] = r; r--; }
while (true) {
count[r] = count[r] - 1;
if (count[r] > 0) break;
r++;
}
}
return done;
}
assertEq(fannkuch(), 41);