Cod sursa(job #45780)
Utilizator | Data | 1 aprilie 2007 21:36:03 | |
---|---|---|---|
Problema | Factorial | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include<fstream>
int main(){
ifstream a("fact.in");
ofstream b("fact.out");
int x;
a>>x;
int c=-1;
if(x>1){
int k=x*4+1;
int z=1;
while(z<k){
z=z*5;
c++; }
int q=z/5;
z=(z/5-1)/4;
c=0;
while(x!=0){
c=c+q*(x/z);
q=q/5;
x=x%z;
z=(z-1)/5; }
}else{
if(x==0){
c=1;}else{
c=5; } }
b<<c;
a.close();
b.close();
return 0;
}