www.webdeveloper.com
Results 1 to 4 of 4

Thread: Hey cant work out whats wrong with my prime code, wondered if you can help

  1. #1
    Join Date
    Nov 2012
    Posts
    3

    Hey cant work out whats wrong with my prime code, wondered if you can help

    The code is meant to have two functions. the first to determine if an integer is prime the second to show all prime numbers between two integers. so far my first function works fine but I'm getting the error message "Uncaught TypeError: Property 'prime' of object [object Window] is not a function primefeat2-2.html:30" for the second function. cant for the life of me work out whats wrong would appreciate some help I will collaborate them to be two separate options after I have worked out the basic code.

    <html>
    <body>
    <script type="text/javascript">

    function prime(){

    var count = 2;
    var stop = Math.ceil(Math.sqrt(number1));
    var remainder = number1 % count;

    while(count < stop){
    number1 % count;
    if (remainder == 0){
    prime = false;
    break;
    }
    else{
    prime = true;
    }
    count ++;
    }
    }

    function feature2(){

    var number1 = window.prompt("enter a number","0");
    var number2 = window.prompt("enter a number","0");

    while (number1 < number2){
    if (prime(number1)){
    document.writeln(+ number1 + " is prime");
    }
    number1++;
    }

    }

    feature2();

    </script>
    </body>
    </html>

    thanks.

  2. #2
    Join Date
    Oct 2010
    Location
    Versailles, France
    Posts
    1,270
    Your code is wrong. It define a function prime, but this function is killed with an assignment of boolean (true or false) to prime !

    See this w3schols.com page about functions and particularly Functions with a return value. Then you could use arguments...

    Then, it should calculate the rest in the while loop...

  3. #3
    Join Date
    Nov 2012
    Posts
    3

    Cheers

    Quote Originally Posted by 007Julien View Post
    Your code is wrong.
    I worked it out and improved it a great deal so it works. Now i have to create another feature to work out the primes between 2 numbers. wish me luck (: got 3 days left

  4. #4
    Join Date
    Oct 2010
    Location
    Versailles, France
    Posts
    1,270
    Do not use document.write (or writeln) which is made to write on an open document (at the opening of the page) but never when the document is fully loaded.

    Use rather document.getElementById('rsp') in a script at the bottom of the body or after a onload event (the document should this time be present) to insert some html text with innerHTML with something like following.

    Then its possible to avoid many divisions with only odd integers or the preceding primes which can be store in an array...

    Code:
    <body>
      <div id="pge"></div>
    
    <script type="text/javascript">
    // An object
    var Prm={
    	// with properties   
    	nbr:null,prm:[2],rng:1,
    	// Initialization 
    	ini:function(){Prm.nbr=3;Prm.prm[Prm.rng++]=3;
    		document.getElementById('pge').innerHTML='2, 3';
    		// The following !
    		Prm.svt();},
    	// Search with odd integers 	 
    	svt:function(){
    	 	Prm.nbr+=2; 
    		if (Prm.tst()) {document.getElementById('pge').innerHTML+=', '+Prm.nbr;
    			Prm.prm[Prm.rng++]=Prm.nbr;}
    		// The first 1000	
    	 	if (Prm.rng<1000) setTimeout(Prm.svt,3);
    	},
    	// Prime test with the preceding primes
    	tst:function(){var i=0,j,m=~~Math.sqrt(Prm.nbr);
    		while(Prm.prm[i]<=m && (j=Prm.nbr%Prm.prm[i])!=0) i++;
    		return j!=0;
    	}
    }
    Prm.ini();
    </script> 
    </body>
    Other methods test only 6 x k +-1 integers. See other threads of is forum and particularly this rndme function isPrime.

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