Javascript 递归算法
内容纲要
听室友说校门口的旅店又爆满了。。。
Actionscript实现递归算法与Javascript的实现过程一样,所以顺便也写了一个Javascript的:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title></title>
<script type="text/javascript">
var BLACKHOLENMB = 6174;
var count = 0;
function blackHole(nmb) {
if(isNaN(nmb) || nmb < 1000 || nmb > 9999) {
return -1;
}
count++;
var tempArray = (nmb + "").split("");
var smallNmb = parseInt(tempArray.sort().join(""));
var bigNmb = parseInt(tempArray.reverse().join(""));
var d_value = bigNmb - smallNmb;
log(bigNmb, smallNmb, d_value, count);
if(d_value != BLACKHOLENMB) {
return blackHole(d_value);
} else {
return count;
}
}
function log(big, small, d_value, count) {
console.log("step " + count + ":" + big + "-" + small + "=" + d_value);
}
console.log(blackHole(2167));
</script>
</head>
<body>
</body>
</html>