⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 access-fannkuch.js

📁 linux下开源浏览器WebKit的源码,市面上的很多商用浏览器都是移植自WebKit
💻 JS
字号:
/* The Great Computer Language Shootout   http://shootout.alioth.debian.org/   contributed by Isaac Gouy */function fannkuch(n) {   var check = 0;   var perm = Array(n);   var perm1 = Array(n);   var count = Array(n);   var maxPerm = Array(n);   var maxFlipsCount = 0;   var m = n - 1;   for (var i = 0; i < n; i++) perm1[i] = i;   var r = n;   while (true) {      // write-out the first 30 permutations      if (check < 30){         var s = "";         for(var i=0; i<n; i++) s += (perm1[i]+1).toString();         check++;      }      while (r != 1) { count[r - 1] = r; r--; }      if (!(perm1[0] == 0 || perm1[m] == m)) {         for (var i = 0; i < n; i++) perm[i] = perm1[i];         var flipsCount = 0;         var k;         while (!((k = perm[0]) == 0)) {            var k2 = (k + 1) >> 1;            for (var i = 0; i < k2; i++) {               var temp = perm[i]; perm[i] = perm[k - i]; perm[k - i] = temp;            }            flipsCount++;         }         if (flipsCount > maxFlipsCount) {            maxFlipsCount = flipsCount;            for (var i = 0; i < n; i++) maxPerm[i] = perm1[i];         }      }      while (true) {         if (r == n) return maxFlipsCount;         var perm0 = perm1[0];         var i = 0;         while (i < r) {            var j = i + 1;            perm1[i] = perm1[j];            i = j;         }         perm1[r] = perm0;         count[r] = count[r] - 1;         if (count[r] > 0) break;         r++;      }   }}var n = 8;var ret = fannkuch(n);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -