Cod sursa(job #1793431)

Utilizator cjalex13Cioarec Alexandru Marian cjalex13 Data 31 octombrie 2016 00:11:11
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;

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

unsigned int nrZero(unsigned int x){
    unsigned int y=5;
    unsigned int sum =0;
    while(x/y != 0){
        sum += x/y;
        y = y*5;

    }
    return sum;
}

int main()
{
    unsigned int nrDeZero;

    f>>nrDeZero;

    unsigned int d,s,a,x;
    s=1;
    d=4000000000;
    a=(s+d)/2;

    while( s < d){
        if(nrDeZero < nrZero(a)){
            d=a-1;
            a=(s+d)/2;

        }
        else if(nrDeZero > nrZero(a)){
            s=a+1;
            a=(s+d)/2;

        }
        else{
            x=a;
            while(nrDeZero==nrZero(x-1)){
                x--;
            }
            g<<x;
            return 0;
        }
    }

    g<<0;


    return 0;
}