Cod sursa(job #2780074)
Utilizator | 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";
}
}