Cod sursa(job #531085)
Utilizator | todea darius TodeaDarius | Data | 8 februarie 2011 21:26:26 |
---|---|---|---|
Problema | Factorial | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<stdio.h>
using namespace std;
int p,n,i,d,nr2,nr5,min1,p1;
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%d",&p);
min1=-3;
if(p<0)
{
printf("%d",-1);
return 0;
}
else
{
while(p!=min1)
{
n=n+1;
d=2;p1=d;nr2=0;
while(p1<=n)
{
nr2=nr2+n/p1;
p1=p1*d;
}
d=5;p1=d;nr5=0;
while(p1<=n)
{
nr5=nr5+n/p1;
p1=p1*d;
}
if(nr2>nr5)
{
min1=nr5;
}
else
{
min1=nr2;
}
}
}
printf("%d",n);
return 0;
}