- 1.最近刚开始接触这些,看到写了好多有关求素数的代码,,来点小总结
第一种:这种可能比较容易理解,首先定义计数器,然后根据技术器I的值进行if判断
// <!--5.计算100--200之间素数个数 -->
<script type="text/javascript">
var count=0;
var num=0;
for(var i=100;i<=200;i++){
for( var j=1;j<=i;j++){
if(i%j==0){
count++;
}
}if(count==2){
num++;
}
count=0;
}
document.write(num);
第二种:这种和函数相关,可能也是以后用到的比较多的,因为以后的编程好多都得通过函数的封装来不断的调用,这样子可以减少代码的冗余。这种方法可以先定义一个判断一个数是否素数的函数,然后再去创建一个区间内求某个素数的函数,最后根据判断调用即可,当然也可以直接一个函数搞定。
//<!--2.计算100-200之间所有素数的和-->
/*<!--判断一个数是否为素数-->*/
function isPrime(m){
for(var i=2;i<m;i++){
if(m%i==0){
return false;
}
}
return true;
}
function find(){
var num=0;
for(var i=100;i<=200;i++){
if(isPrime(i)){
num+=i;
}
}
document.write(num);
}
find();
第三种:
这种方法也涉及到了函数的调用,不过这种方法是通过设置一个boolean值来进行判断,如果为素数,flag=true,否则为true,当然可以根据自己的习惯来定义。这种方法比较常用。
function jisuan(m,n){
var count=0;
for(var i=m;i<=n;i++){
var flag=true;
for(var j=2;j<i;j++){3
if(i%j==0){
flag=false;
}
}
if(flag){
console.log(i);
count++;
}
}
return count;
}
alert(jisuan(100,200));
以上方法只是我自己总结的,如有不足还请指教!!!