--- In [email protected], "Jon" <[EMAIL PROTECTED]> wrote:
<snip>
> int isPrime Program:
> 
> int isPrime(int);
> 
> int main()
> {
>       int val;
> 
>       //Get a number from the user to check
>       cout << "please enter a number" << endl;
>       cin >> val;
> 
>       if (isPrime(val))                                       
>       // Calls the function and sends val to function
>               cout << val << " is a prime\n";
>       else
>               cout << val << " is not a prime\n.";
> 
>       return(0);
> }
> 
> 
> // isPrime function 
> int isPrime(int number)
> {     
>       int response;
> 
>       for( int i = 2; i <= number; i++)
>       {
>               int leftOver = (number % i);
>               if (leftOver == 0)
>               {
>                       response = 0;
>                       return response;
>                       break;
>               }
>       }               
>       response = 1;
>       return response;
> }

This one is buggy; the loop "for (i..." goes up to "number"; however,
every integer is dividable by itself, so the loop must have an end
condition like "i < number" instead of "i <= number".
[Not to forget that, as Thomas already has pointed out, you only have
to loop until "(int) sqrt( number)".]

Regards,
Nico

Reply via email to