我是靠谱客的博主 心灵美宝贝,最近开发中收集的这篇文章主要介绍用javascript验证哥德巴赫猜想案例:验证哥德巴赫猜想,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

案例:验证哥德巴赫猜想

哥德巴赫猜想:任何偶数都可以拆成两个素数的和 从6开始,前面的口算就能算出来 封顶值:100000 For(varn=6;n<=100000;n+=2){ xxxxxxxxxxxxxxxx }

第一种笨方法:


<script>
var num,s;
var sum=0,count=0;
for(var n=6;n<=Math.pow(10,5);n+=2){
//从6开始判断,直到100000结束
for( var a=2;a<=n;a++){
//第一个素数
num=isprime(a)?a:0;
//调用函数判断是否为素数 是就给num,不是就为0; 
for( var b=2;b<=n;b++){
//第二个素数
s=isprime(a)?b:0;
//调用函数判断是否为素数 是就给s,不是就为0; 
if(n==(num+s)){
//从6开始判断任何偶数是否都能拆成两个素数的和
count++;
//把能拆成两个素数的和记录下来累加
break;
//判断成功就退出最里层的循环
}
}
if(n==(num+s)){
break;
//判断成功退出中间的循环

}
}
sum++;
//把所有的偶数都累加
}
//如果所有的偶数累加等于能拆成两个素数的和的累加,那么猜想成功,否则就不成功。
if(sum==count){
alert('猜想成功')
}else{
alert('猜想失败')
}
// 判断是否为素数的函数
function isprime(num) {
var flag = true;
for (var i = 2; i < num; i++) {
if(num%i==0){
flag = false;
break;
}
}
return flag;
}
</script>

第二种进阶方法


<script>
var conut=0;
var sum=0;
for(var i=6;i<100000;i+=2){
var flag = false;
for(var n=2;n<i;n++){
if(isprime(n)&&isprime(i-n)){
flag = true;
conut++;
break;
}
}
sum++;
}
if(conut==sum){
alert('验证哥德巴赫猜想成功');
}else{
alert('验证哥德巴赫猜想失败');
}
function isprime(num) {
var flag = true;
for (var i = 2; i < num; i++) {
if(num%i==0){
flag = false;
break;
}
}
return flag;
}
</script>

最后

以上就是心灵美宝贝为你收集整理的用javascript验证哥德巴赫猜想案例:验证哥德巴赫猜想的全部内容,希望文章能够帮你解决用javascript验证哥德巴赫猜想案例:验证哥德巴赫猜想所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部