Cod sursa(job #1420536)
Utilizator | Asavoaei Georgiana asavoaeigeo | Data | 18 aprilie 2015 17:20:19 |
---|---|---|---|
Problema | Factorial | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long v[30];
int main()
{
int p;
fin>>p;
long long p5=1;
while(v[0]<=25)
{p5=p5*5;
v[++v[0]]=p5;
}
int x=0,af=0,i,j,a;
if(p==0) fout<<1;
else
for(i=1;i<v[0];i++)
{
x=x+i;
if(x>p) {fout<<-1;break;}
else if(x==p) {fout<<v[i];break;}
for(j=v[i]+5;j<v[i+1];j=j+5)
{
for(a=1;a<=i;a++)
if(j%v[a]==0) x++;
if(x==p) {af=1;fout<<j;break;}
}
if(af==1) break;
}
return 0;
}