Cod sursa(job #2093884)

Utilizator PaulOrasanPaul Orasan PaulOrasan Data 24 decembrie 2017 16:29:01
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <cstdio>

using namespace std;

FILE * fin=fopen("fact.in","r");
FILE * fout=fopen("fact.out","w");
int getAparitii(int n)
{
    int ct=0;
    while (n%5==0){
        ct++;
        n/=5;
    }
    return ct;
}
int f(long long int n)
{
    if (n/5==0)
        return 0;
    else return n/5+f(n/5);
}
int main()
{
    int p;
    long long int n=0;
    fscanf(fin,"%d",&p);
    long long int a;
    if (p==0)
        fprintf(fout,"%d",1);
    else{
        a=p*5;
        if (f(a)==p)
            fprintf(fout,"%d",a);
        else{
            while (f(a)>p)
                a-=5;
            while (f(a)<p)
                a+=5;
            if (f(a)==p)
                fprintf(fout,"%d",a);
            else
                fprintf(fout,"%d",-1);
        }
    }
}