Cod sursa(job #2780074)

Utilizator Codrut198Codrut Dinca Codrut198 Data 5 octombrie 2021 21:59:15
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.2 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int main()
{
    long long x,s=0,j,s1=0,s2=0,s3=0,s4=0,s5=0,s6=0,s7=0,s8=0,s9=0;
    f>>x;
   if(x==0)
        g<<1;
    else
            {
            s=x*5-5*((x-5)/5);
            for(j=5;j<=500000000;j*=5)
                s1+=s/j;
                for(j=5;j<=500000000;j*=5)
                s2+=(s-5)/j;
                for(j=5;j<=500000000;j*=5)
                s3+=(s-10)/j;
                for(j=5;j<=500000000;j*=5)
                s4+=(s-15)/j;
                for(j=5;j<=500000000;j*=5)
                s5+=(s-20)/j;
                for(j=5;j<=500000000;j*=5)
                s6+=(s+5)/j;
                for(j=5;j<=500000000;j*=5)
                s7+=(s+10)/j;
                for(j=5;j<=500000000;j*=5)
                s8+=(s+15)/j;
                for(j=5;j<=500000000;j*=5)
                s9+=(s+20)/j;
                if(x==s1||x==s2||x==s3||x==s4||x==s5||x==s6||x==s7||x==s8||x==s9)
                {
                    if(x==s2)
                        g<<s-5;
                    else
                        if(x==s3)
                            g<<s-10;
                        else
                            if(x==s4)
                                g<<s-15;
                            else
                                if(x==s5)
                                    g<<s-20;
                                else
                                    if(x==s6)
                                        g<<s+5;
                                    else
                                        if(x==s7)
                                            g<<s+10;
                                        else
                                            if(x==s8)
                                                g<<s+15;
                                            else
                                                if(x==s9)
                                                    g<<s+20;
                                                else
                                                    g<<s;
                }
                else
                    g <<"-1";


            }
}