Cod sursa(job #1712831)

Utilizator gregorian123Gregorian Bivolaru gregorian123 Data 3 iunie 2016 20:14:07
Problema Factorial Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

long long factorial(long long n)
{long long  p=0;
    for(int i=1;i<=log(n)/log(5);i++)
        p = p + (n/(pow(5,i)));

    return p;
}

long long cautare(long long p, long long a, long long b)
{long long c;
  if(p==0) return -1;
    while(p != factorial((a+b)/2))
    {

       if(factorial((a+b)/2) > p) b = (a+b)/2;
       else if(factorial((a+b)/2) < p) a = (a+b)/2;

    }

    c = (a+b)/2;
    while(c%5 != 0) c--;
    return c;
}


int main()
{long long p;
    f>>p;
    g<<cautare(p,0,100000000);

}