I have written a program which tests for prime numbers. Please could someone review my code and tell me if there is any way to optimise it as once you start hitting large numbers it takes that much longer to break the loop and return a result.

Code:`int prime( long unsigned int &number )`

{

int factor = 0;

for( int i = 1; i <= number; i++ )

if( number % i == 0 )// if there is no remainder - i is a factor of number

factor++;

if( number == 1 )

return 1;

else if( factor == 2 ) // number is prime if only 2 factors are found

return 1;

else // more than two factors found, number is not prime

return 0;

} // end function prime