JS程序验证哥德巴赫猜想
2017-11-20 18:12
211 查看
在8-10000内验证哥德巴赫猜想:任何一个大于6的偶数都可以拆分为两个素数的和。
方法一:for循环的嵌套
var isGDBH
= false;
for (var
i=8;i<10000;i+=2){//遍历8-10000的所有偶数,去判断每一个偶数是否满足哥德巴赫猜想
for(varj=2;j<i;j++){
var k
= i -j;
var isprime1
= true;
for(var
num1=2;num1<j;num1++){//判断j是不是素数
if(
j % num1==0){
isprime1 =
false;
}
}
var isprime2
= true;
for(var
num2=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;
}
方法一:for循环的嵌套
var isGDBH
= false;
for (var
i=8;i<10000;i+=2){//遍历8-10000的所有偶数,去判断每一个偶数是否满足哥德巴赫猜想
for(varj=2;j<i;j++){
var k
= i -j;
var isprime1
= true;
for(var
num1=2;num1<j;num1++){//判断j是不是素数
if(
j % num1==0){
isprime1 =
false;
}
}
var isprime2
= true;
for(var
num2=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;
}
相关文章推荐
- JS验证通用程序
- JS——我的第三个AJAX程序(带数据库的用户名输入验证,模仿注册)
- 常用js验证程序及相关代码
- js、jquery、包括后台程序的验证、正则
- java程序验证哥德巴赫猜想
- 【练习】哥德巴赫猜想验证程序
- 在CentOS5.6上安装Node.js(续)——编写程序验证安装
- 简洁的js表单验证程序
- JS正则验证
- 编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现。
- js验证身份证号,超准确
- [vue.js] prop验证没有错误信息的可能原因:没有使用开发者版本
- JS做成像程序中的类一样
- 【性能测试】验证程序运行时所占用的时间Cycle
- python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过autopy实现右键菜单和另存为操作
- struts2学习笔记(三)—— 在用户注册程序中使用验证框架
- Asp.net 程序优化js,css合并与压缩
- js基础-表单验证和提交
- 验证哥德巴赫猜想
- JS的常用正则表达式 验证密码用户名等JS正则