Cod sursa(job #1236904)

Utilizator FawkesAndrei Colhon Fawkes Data 2 octombrie 2014 19:19:20
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std;

int five(int a)
{
    int nr5=5,nr=0;
    while(nr5<=a)
    {
        nr=nr+a/nr5;
        nr5=nr5*5;
    }
    return nr;
}


int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    int p,n,fives,pp,ok=1;
    f >> p;
    int st=1,dr=9,mid;
    dr=5*p;
    while(dr>=st)
    {
        mid=(st+dr)/2;
        int fives=five(mid);
        if(fives > p)
        {
            dr=mid-1;
        }
        else if(fives < p)
        {
            st=mid+1;
        }
        else if(fives == p)
        {
            break;
        }
    }
    while(mid%5!=0)
    {
        mid=mid-1;
    }
    if(five(mid)!=p)
    {
        g << "-1";
    }
    else g << mid;
    return 0;
}