--- 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
