JS程序验证哥德巴赫猜想

来源:互联网 发布:北京工业大学软件 编辑:程序博客网 时间:2024/06/05 03:23

在8-10000内验证哥德巴赫猜想:任何一个大于6的偶数都可以拆分为两个素数的和。

方法一:for循环的嵌套

var isGDBH= false;
for (vari=8;i<10000;i+=2){//遍历8-10000的所有偶数,去判断每一个偶数是否满足哥德巴赫猜想
   
for(varj=2;j<i;j++){
        var k= i -j;
        var isprime1= true;
        for(varnum1=2;num1<j;num1++){//判断j是不是素数
        
if( j % num1==0){
             isprime1 =false;
          }
        }
        var isprime2= true;
        for(varnum2=2;num2<k;num2++){//判断k是不是素数
           
if( k % num2==0){
                isprime2 =false;
           }
        }
        if(isprime1&& isprime2){
            isGDBH =true;
            break;
        }else{
            continue;
              }
    }
    if(isGDBH){
        document.write(i+"满足哥德巴赫猜想"+"="+j+"+"+k+"</br>");
    }else{
        document.write(i+"不满足哥德巴赫猜想"+"</br>");
    }
}



方法二:调用函数

//函数的功能:判断一个数是不是素数 //函数的名字:isprime //函数的参数:一个待判断的数 //函数的返回值:true/false//函数的功能:判断一个偶数能否拆分为两个素数的和//函数的名字:isgdbh//函数的参数:一个待判断的数//函数的返回值:true/false for (var i=8;i<10000;i+=2){//遍历8-10000的所有偶数,去判断每一个偶数是否满足哥德巴赫猜想     if(isgdbh(i)){         document.write(i +"满足哥德巴赫猜想"+"</br>");     }else{         document.write(i + "不满足哥德巴赫猜想"+"</br>");     } }function isgdbh(num){    var flag = false;    for(var i=2;i<num;i++){        if(isprime(i)&& isprime(num - i)){            flag = true;            break;        }else{            continue;        }    }    return flag;}function isprime(num){    var flag = true;    for(var j=2;j<num;j++){        if(num % j ==0){            flag = false;        }    }    return flag;}

原创粉丝点击