Hmm...actually
Try this
// first check if number is even; if so not prime
if(!prime%2)
r = 1;
// then check every odd number
for(i=3; i<sqrt(prime) + 1 && !r; i+=2)
if(prime%i)
r = 1;
You only check if the number is odd, so I guess it more efficient.
Of course you have to check the speical case when:
prime == 2