Cod sursa(job #942341)

Utilizator BaTDucKMocanu George BaTDucK Data 21 aprilie 2013 21:45:03
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
using namespace std;
long int p,s,l,cl;
int main()
{
FILE*f=fopen("fact.in","r");
FILE*g=fopen("fact.out","w");
fscanf(f,"%d",&p);
if(p==0)fprintf(g,"1");
else
{
    if((p%10==1)||(p%10==6)) l=4*p+1;
    if((p%10==7)||(p%10==2)) l=4*p+2;
    if((p%10==3)||(p%10==8)) l=4*p+3;
    if((p%10==4)||(p%10==9)) l=4*p+4;
    if((p%10==0)||(p%10==5)) l=4*p;

    s=l/5+l/25+l/125+l/625+l/3125+l/15625+l/78125+l/390625+l/1953125+l/9765625+l/48828125+l/244140625;
    if(s==p) fprintf(g,"%d",l);
    else
    {while(s<p)
    {
        l+=5;cl=l;while(cl%5==0)
        {s++;cl/=5;}
    }
        if(s==p) fprintf(g,"%d",l);
        else fprintf(g,"-1");
    }
}

    fclose(f);
    fclose(g);
    return 0;
}