26.03.2011, 23:42
Mod 2 and Mod 4 ? Yeah sure
Can iValor ever be iCount if iCount needs to be smaller than the square root of iValor ? Of course
So lets present my version
Criticism is allowed
I dont know if thats faster but
pawn Код:
if( !(iValor % 2) || !(iValor % 3) || !(iValor % 4) || (iValor == 1)) return false;
pawn Код:
while(iCount++ < floatsqroot(iValor))
if( !(iValor % iCount) && (iValor != iCount) ) return false;
pawn Код:
stock IsPrime(value)
{
if((value < 4) || (value & 0b1) == 0) {
if((value == 2) || (value == 3)) {
return true;
}
return false;
}
new
i = floatround(floatpower(value, 0.5), floatround_floor);
if((i & 0b1) == 0) {
i--;
}
while(i > 2) {
if((value % i) == 0) {
return false;
}
i -= 2;
}
return true;
}
I dont know if thats faster but
pawn Код:
stock DecimalToBinary(const iNum)
{
new string[cellbits + 1];
format(string, sizeof string, "%b", iNum);
return strval(iNum);
}

