Cod sursa(job #1767470)

Utilizator vlad2004SuntUnNanoTub vlad2004 Data 29 septembrie 2016 11:02:50
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int form(int n)
{
    int cnt=0,k=5;
    while(k<=n)
    {
        cnt=cnt+n/k;
        k=k*5;
    }
    return cnt;
}
int main()
{
    int n;
    in>>n;
    int n2=1;
    while(n2*2<=5*n)
    {
        n2*=2;
    }
    int sol=5*n+1;
    for(int i=n2; i>=1; i/=2)
    {
        if(sol-i>=1 && form(sol-i)>=n)
        {
            sol=sol-i;
        }
    }
    if(form(sol)==n)
        out<<sol;
    else
        out<<-1;


    return 0;
}