Cod sursa(job #2645136)

Utilizator LAURENTIU-MARIAN.VASILESCUVasilescu Laurentiu-Marian LAURENTIU-MARIAN.VASILESCU Data 27 august 2020 11:50:44
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <fstream>
using namespace std;

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

int functie(int k)
{
    int nrZero = 0, i;

    for( i = 5; i<=k; i=i*5)
    {
        nrZero = nrZero + k/i;
    }
    return nrZero;
}

int main()
{
    int a,stInterval=1,drInterval=1000000000,solutile = -1, mijloc;

    f>>a;

    if(a!=0){
        while(stInterval<=drInterval){
            mijloc = (drInterval-stInterval)/2+stInterval;
            if(functie(mijloc)==a){
                solutile = mijloc;
                drInterval = mijloc - 1;
            }
            else{
                if(functie(mijloc) > a){
                    drInterval = mijloc - 1;
                }
                else{
                    if(functie(mijloc)<a){
                        stInterval = mijloc+1;
                    }
                }
            }
        }
    }
    else{
        g<<1;
        return 0;
    }

    g<<solutile;


    return 0;
}