www.webdeveloper.com
Results 1 to 3 of 3

Thread: Problem with a script to check prime numbers.

  1. #1
    Join Date
    Aug 2012
    Posts
    1

    Smile Problem with a script to check prime numbers.

    Hi everyone! I'm new to this forum and I hope I can be useful to this community now that I'm learning Javascript

    I have a problem with a Javascript function. It's a simple script to check if a number is a prime number or not. I know there's already lots of this examples on the Internet but I didn't wanted to check them only to see if I could do it on my own.

    So, here's my script. It's works just fine, but for some reason, when I write 33, the script says it is a prime number, when it's not. Any ideas?

    //Prime number checker
    //@rodochoa
    var i =parseInt(prompt("Write a number"));
    isPrime(i);
    function isPrime(num){

    if(num === 1 || num ===2 || num===3){
    //If the input is 1,2,3 it prints directly without checking
    console.log(num + " is a prime number");
    }
    else{
    for(i=2;i<num;i++){
    if(num%i===0){
    console.log(num + " is not a prime number");
    break;
    }
    else{
    console.log(num + " is a prime number");
    break;
    }
    }

    }
    }

    Thanks in advance And greetings from Mexico.

  2. #2
    Join Date
    Mar 2007
    Location
    U.K.
    Posts
    1,127
    Your algorithm is wrong. It considers 33 a prime as soon as it fails to divide it by 2.

  3. #3
    Join Date
    Sep 2007
    Location
    istanbul
    Posts
    317
    Code:
      
    <html>
    <head>
    <title>asal sayı</title>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <LINK href="stil.css" type=text/css rel=stylesheet>
    </head>
    <body>
    <form name="form1">
    <table style=" text-align: left; width: 493px; height: 110px;" >
    <tr><td><p>Aşağıdaki kutucuğa 50000'den k&#252;&#231;&#252;k bir sayı yazıp kutucuk dışında bir yere tıklayın.1'den yazdığınız sayıya kadar olan asal sayılar bulunacaktır. B&#252;y&#252;k sayılar yazmanız halinde internet tarayıcınız kilitlenebilir. Yazık ona da.</p></td></tr>
    
    <tr><td><textarea cols="6" rows="1" name="son" onChange="rast()" size="4">100</textarea><a id="bekle">-</a>
    </td></tr>
    
    <tr><td><textarea name="kutu" rows="13" cols="50" style="font-size:14; color:blue;">10</textarea></td></tr>
    </table>
    </form>
    <script type="text/javascript">
    
    var en=50000,tt,t,ad=0
    asal=new Array(2,3,5,7,11,13)
    function rast(){
    if (document.form1.son.value >en){alert(en + " den b&#252;y&#252;k sayı yazmayın !!!")}
    if (document.form1.son.value <= en){bekle.innerHTML=" Hesaplanyor, l&#252;tfen bekleyin !"; setTimeout("rast2()",100)
     }
    }
    function rast2(){
    var ns=document.form1.son.value/2,  n=5, m="2"
    for(i=7;i<=ns;i++){
    t=2*i + 1;tt=1;ad=0
    nnn=Math.pow(t,0.5)
    nnn=(Math.round(nnn))
    if(nnn<=5)nnn=5
    for(j=1;asal[j]<=nnn;j++){tt=t&#37;asal[j];if (tt==0)ad=1}
    if (ad==0){n++;asal[n]=t}
    }
    for(k=1; k<=n;k++)m=m+", "+ asal[k]
    document.form1.kutu.value=m +"-------" +(n*1+1)+ "  tane"
    bekle.innerHTML=" Bitti !"
    }
    rast();
    
    </script>
    </body>
    </html>

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles