Cod sursa(job #1417768)

Utilizator figure0907Andrei Gonczi figure0907 Data 10 aprilie 2015 22:24:03
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>
#include <string.h>

long p, n;

void readdata()
{
    FILE *f = fopen("fact.in","rt");
    fscanf(f,"%d%d",&p);
    fclose(f);
}

int solve()
{
    int s=0;
    n = p*25/6.25;
    printf("%d",n);
    while (n%5>0) {
        n++;
    }
    int m=n;
    while (m>=5)
    {
        s+=m/5;
        m=m/5;
    }
    if (s!=p)
    {
        s=0;
        m=n+5;
        n=n+5;
        while (m>=5)
        {
            s+=m/5;
            m=m/5;
        }
    }
    if (s!=p) {
        n=-1;
    }
    return 0;
}

void writedata()
{
    FILE *f = fopen("fact.out","wt");
    fprintf(f,"%d",n);
    fprintf(f,"\n");
    fclose(f);
}

int main()
{
    readdata();
    solve();
    writedata();

    return 0;
}