Given an integer n, write a function that returns count of trailing zeroes in n!. Examples: Input: n = 5 Output: 1 Factorial of 5 is 20 which has one trailing 0. Input: n = 20 Output: 4 Factorial of 20 is 2432902008176640000 which has 4 trailing zeroes. Input: n = 100 Output: 24
int myatoi(const char *string)
ReplyDelete{
int i;
i=0;
while(*string && (*string <= '9' && *string >= '0'))
{
i=(i<<3) + (i<<1) + (*string - '0');
string++;
// Dont increment i!
}
return(i);
}
does (i<<3)+(i<<1) have any advantage over multiplying i with 10? or is it just another logic?
ReplyDeleteyes bitwise operation is faster than normal multiplication...
ReplyDelete