Cod sursa(job #1938480)

Utilizator BiancaMariaVulsanVulsan Bianca Maria BiancaMariaVulsan Data 24 martie 2017 20:32:13
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int i;
int fact(int n)
{ int x=1;
   for(i=1; i<=n; i++)
        x=x*i;
   return x;
}
int main()
{
    int p,a,nr=0,x,ok=0;
    f>>p;
    if(p==0)
       g<<1;
      else
        if(p<=4)
        g<<5*p;
      else
    if(5*(p-1)>=50)
    {
        for(i=5*(p-1); i>=25; i=i-5)
       {  a=i;
          while(a%25==0)
            {a=a/25; break;}
        }
        if(a%5!=0)
        {nr=a; ok=1;}
        else
            while(a%5==0)
            {nr++; a=a/5;}

        if(p!=5)
            if(ok==1)
        g<<5*(p-1)-fact(nr)*5*nr;
             else
                g<<5*p-fact(nr)*5*nr;
        else
        g<<-1;
    }
    else
     if(5*(p-1)<50)
        g<<5*p-5;

    f.close();
    g.close();
    return 0;
}