Cod sursa(job #361632)

Utilizator TFifesPorcescu Alexandru TFifes Data 6 noiembrie 2009 03:05:14
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<iostream>
#include<fstream>
#include<vector>
#include<math.h>
using namespace std;
unsigned long long resolve(unsigned long long c)
{
    unsigned int kmax=static_cast<int>(log10(c)/log10(5)),k;
    unsigned long z=0;
    for(k=1;k<=kmax;k++)
        z+=static_cast<int>(c/pow(5,k));
        return z;
}
unsigned long long cautare(unsigned long long a,unsigned long long b,unsigned long s)
{
    unsigned long long d;
    unsigned long v;
    while(a<=b)
    {
        d=(a+b)/2;
        v=resolve(d);
        if(v==s)
        return d;
        else if(d>s)
        b=d-1;
        else
        a=d+1;
    }
    return -1;
}


int main ()
{
    ifstream x("d:\\gt.txt");
    ofstream y("d:\\gtout.txt");
    unsigned long long p,n,a,b,ok=0;
    x>>p;
    a=0;
    b=400000000;
    y<<cautare(a,b,p);

        x.close();
        y.close();
        return 0;
    }