Collatz猜想(冰雹猜想)的计算次数验证

冰雹猜想 是指:一个自然数n,如果是奇数就乘以3再加1,如果是偶数就析出偶数因数2ⁿ,这样经过若干个次数,最终回到1。

我们通过一个js程序计算任意输入的自然数经过多少次后回归到1.

js计算代码:

 
 
function calculate(n,f){
if(Math.floor(n) != n || n <= 0){
alert("请输入自然数");
return;
}
if(n > 1){
if(n % 2){
n = n * 3 + 1;
}else{
n = n / 2;
}
f ++;
arguments.callee(n,f);
}else if(n == 1){
console.log("进行了" + f + "次运算后,又变成1了哦");
return true
}
}
document.getElementById("click").onclick = function(){ var n; n = document.getElementById("num").value; calculate(n * 1,0); }

html代码:

    <input id="num" style="width:500px;" type="text" value="" placeholder="请输入想要验证的自然数">
    <input id="click" type="button" value="点击开始">

当在页面框内输入数字的时候就可以计算出这个自然数经过多少次的运算可以回归到1了。

猜你喜欢

转载自www.cnblogs.com/weblishanping/p/10250128.html
今日推荐