# Problem with a script to check prime numbers.

• 08-10-2012, 10:16 PM
rodochoa
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.
• 08-11-2012, 06:22 AM
Logic Ali
Your algorithm is wrong. It considers 33 a prime as soon as it fails to divide it by 2.
• 08-11-2012, 11:10 AM
Ayşe
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>```

## X vBulletin 4.2.2 Debug Information

• Page Generation 0.06853 seconds
• Memory Usage 2,357KB
• Queries Executed 11 (?)
Template Usage (20):
• (1)bbcode_code_printable
• (1)footer
• (1)gobutton
• (1)navbar_moderation
• (1)navbar_noticebit
• (2)option
• (1)spacer_close
• (1)spacer_open

Phrase Groups Available (3):
• global
• postbit
Included Files (19):
• ./global.php
• ./includes/class_bootstrap.php
• ./includes/init.php
• ./includes/class_core.php
• ./includes/config.php
• ./includes/functions.php
• ./includes/class_friendly_url.php
• ./includes/class_hook.php
• ./includes/class_bootstrap_framework.php
• ./vb/vb.php
• ./vb/phrase.php
• ./includes/functions_calendar.php
• ./includes/class_bbcode_alt.php
• ./includes/class_bbcode.php
• ./includes/functions_bigthree.php
• ./includes/functions_notice.php

Hooks Called (41):
• init_startup
• init_startup_session_setup_start
• database_pre_fetch_array
• database_post_fetch_array
• init_startup_session_setup_complete
• global_bootstrap_init_start
• global_bootstrap_init_complete
• cache_permissions
• fetch_foruminfo
• global_state_check
• global_bootstrap_complete
• global_start
• style_fetch
• global_setup_complete
• bbcode_fetch_tags
• bbcode_create
• bbcode_parse_start
• bbcode_parse_complete_precache
• bbcode_parse_complete
• cache_templates
• cache_templates_process
• template_register_var
• template_render_output
• fetch_template_start
• fetch_template_complete
• parse_templates