Cod sursa(job #1237655)
| Utilizator | Data | 4 octombrie 2014 15:52:43 | |
|---|---|---|---|
| Problema | Factorial | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.73 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int fn(int n)
{
for(int i=1;i<=n;++i)
if(n+1==i*6)
return 1;
return 0;
}
void fact(int n)
{
int r=fn(n);
if(n>0&&r==0)
{
int i,k,c=0,p=0,q=1;
for(k=0;k<n;k++)
{
c=c+5;
if(c%25==0||c%75==0)
{
p++;
}
}
if(p==0)
out<<c;
else if(p>0) out<<c-p*5;
}
else if(n==0)
out<<1;
else if(n<0||n>100000000||r==1)
out<<-1;
}
int main()
{
int n;
in>>n;
in.close();
fact(n);
out.close();
return 0;
}
