Alternative Factorial SolutionThis solution was submitted by James Rouzier. The code takes advantage of the fact that the number of times a particular power of 5 shows up is also used to compute the number of times the next power of 5 appears--all you need to do is divide by 5 again. #include <stdio.h> int findzeros(unsigned int n); int main(int argv, char *argc[]) { unsigned int i = 0; printf("Please enter the factorial: "); scanf("%u",&i); printf("The amount of zeros in factorial %u! is %u\n",i,findzeros(i)); for (i = 0;i < 0;i++) { printf("The amount of zeros in factorial %u! is %u\n",i,findzeros(i)); } return 0; } int findzeros(unsigned int n) { int result = 0; while ( n > 0) { n /= 5; result += n; } return result; }Get the code |