Cod sursa(job #624234)

Utilizator blexxSeulean Erik-Cristian blexx Data 22 octombrie 2011 02:00:57
Problema Factorial Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
#include <stdlib.h>
unsigned int p,n;
int check(int n)
{
    int k=0,a=5;
    while(a<n)
    {
        a=a*5;
        k++;
    }
    return k;
}
int verificare(int n)
{
    int s=0,m=0,a=5,x;
    x=n;
    while(x/5!=0)
    {
        s=s+n/a;
        a=a*5;
        m++;
        x=x/5;
    }
    return s;
}
int main()
{
    int c;
    FILE *f=fopen("fact.in","r");
    FILE *g=fopen("fact.out","w");
    fscanf(f,"%d",&p);
    n=4*p;
    if(n%5!=0)
    {
    c=n%5;
    n=n+5-c;
    }
    if(n==0)
    fprintf(g,"1");
    else
    {
        while(verificare(n)<p)
            n=n+5;
        if(verificare(n)>p)
            fprintf(g,"-1");
        else
            fprintf(g,"%d",n);
    }
    return 0;
}