哥德巴赫猜想:任一大于2的偶数都可写成两个质数之和
1.封装一个函数 isPrime() 判断n是不是质数
2.封装一个函数 getPrimeLessThen() 获取小于n的所有质数
函数内用for循环遍历从2到n如果是质数就将其放进数组arr[ ]
返回数组arr
3.通过for循环 遍历1000之内大于4的偶数写成两个质数的和
通过getPrimeLessThen() 函数把小于 i 的所有质数放进arr
再遍历数组arr[ ] 每一个数组元素赋给变量first
再将 i 减first的值赋给第二个数second
最后判断第二个数second是否是质数(isPrime)
如果first和second都是质数的话输出在控制台
输出一次break跳出循环
<!-- 质数:有且只有自己和1两个因数 -->
<!-- 大于4的偶数能够写成两个质数和,1000写成4=1+3,6=3+3 8=3+5 -->
<script>
// 封装一个判断是否是质数函数
function isPrime(n){
if(n<3){
return true
}
for(var i=2 ;i<n;i++){
if(n%i==0){
return false
}
}
return true
}
var result = isPrime(9)
console.log(result);
//8= 3+5
//获取小于n的所有质数
function getPrimeLessThen(n){
var arr=[]
for(var i=2;i<n;i++){
if(isPrime(i)){
arr.push(i)
}
}
return arr
}
console.log(getPrimeLessThen(9));
//1000之内所有大于4的偶数写成两个质数的数
//i= a+b
for(var i=4;i<1000;i=i+2){
var arr = getPrimeLessThen(i)//把小于i的所有质数放进arr
for(var j = 0;j<arr.length;j++){
var first=arr[j]
var second = i-first
if(isPrime(second)){
console.log(i+"="+first+"+"+second);
break
}
}
}
</script>