Cod sursa(job #539404)

Utilizator slilverwolfRadu Ghitescu slilverwolf Data 22 februarie 2011 22:05:03
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>


using namespace std;

inline unsigned long long int find_five(long p) {
     unsigned long i=0,zero=0,j;
     unsigned short cont;
     while(p) {
          cont=1;
          i+=5;
          j=i/5;
          verifica:
          if(j%5==0) {
               cont++;
               j/=5;
               goto verifica;
          }
          p-=cont;
          zero+=cont;

     }
     return i;
}

int main() {
     long p;
     ifstream f("fact.in");
     f>>p;
     f.close();
     ofstream g("fact.out");
     if(p>=1000000) {
        g<<4000005+find_five(p-1000000);
     } else if(p>=100000) {
          g<<400005+find_five(p-100000);
     } else if (p>=1000) {
          g<<4005+find_five(p-1000);
     } else if (p>=100) {
          g<<405+find_five(p-100);
     } else {
          g<<find_five(p);
     }
     g.close();
     return 0;
}