2017-05-27 50 views
-1

我正在嘗試製作一個打印素數最多爲n的程序。在jQuery中素數最高爲n

這是我的代碼,但它不起作用。

$(document).ready(function(){ 
$('#g').click(function(){ 
       var n = $('#a').val(); 
       for (a=2; a<n; a++) { 
        for (i=2; i<a; i++) { 
         if (a%i=0) { 
          break 
         } 
        } else { 
         var r = $('#r').html(); 
         $('#r').html(r+'<br />'+i); 
        } 
       } 
      }); 
     });  

回答

-2

在你的代碼中,檢查模數有一些錯誤。 if (a%i=0)如果條件需要==進行檢查。單個=正在存儲該值。在下一行break之後也丟失了分號。還有一個不需要的右括號。我已經刪除了else條件並設置了一個變量ct=0。並且當它變爲1時打印數據,這是在條件下設置的。 請檢查以下代碼以獲取更多參考。

$(document).ready(function(){ 
 
$('#g').click(function(){ 
 
    var n = $('#a').val(); 
 
     for(a=2;a<=n;a++){ 
 
       ct=0; 
 
       for(j=2;j<a;j++){ 
 
         if(a%j==0){ //checking whether num is dvisible by j 
 
         ct=1; 
 
         break; 
 
         } 
 
        } 
 
      if(ct==0){ //if num is divisible by 2 numbers,then it is prime 
 
       var r = $('#r').html(); 
 
       $('#r').html(r+'<br />'+j); 
 
      } 
 
     } 
 
    }); 
 
});
<html> 
 
    <body> 
 
     <input type="text" name="limit" id="a"> 
 
     <button id="g">Go</button> 
 
     <div id="r"></div> 
 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 
    </body> 
 
</html>

+0

提供恰當的說明。諸如*「你可能會檢查它」的聲明是沒有意義的。人們不應該手動比較每一行來尋找差異 – charlietfl

+0

好。我會做的。謝謝你的建議。 – AdhershMNair

相關問題