var bIsPrime = true;
var i = 29; // i 是要检查的数字
for(var j = 2; j <= i/2; j++){
   if(bIsPrime) bIsPrime = i % j > 0;
}
if(bIsPrime) WScript.Echo(i + "是质数。");
else WScript.Echo(i + "不是质数。");

解决方案 »

  1.   

    function isPrimeNumber(num)
    {
    for(j=2;j<Math.ceil(Math.sqrt(num);j++)
    {
    if(num%j==0)
    {
    return flase;
    }
    }
    return true;
    }
    代码没测试过.随笔写的.
    大概思路就是这样的吧.
      

  2.   

    function isPrimeNumber(num){
      var bIsPrime = true;
      var tmp = num/2;
      for(var i=2;i<=tmp;i++){
        if(num%i==0){
           bIsPrime =false;
           break;
        }
      }
      retrun bIsPrime;
    }
      

  3.   


    function isPrimeNumber(num){ 
      var bIsPrime = true; 
      var tmp = num/2; 
      for(var i=2;i <=tmp;i++){ 
        if(num%i==0){ 
          bIsPrime =false; 
          break; 
        } 
        tmp = num/i;
      } 
      retrun bIsPrime; 
    }
    好像这样可以遍历少一点吧?