Cod sursa(job #234232)

Utilizator cercelcercel maria luiza cercel Data 20 decembrie 2008 13:31:31
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include<fstream>
#include<iostream>
unsigned long p,p1,n1,nd5,p2,i;
long n;
fstream f;
int main(){
f.open("fact.in",ios::in);
f>>p;
f.close();
if(p==0)
	n=1;
else{
	nd5=1;
	n=0;
	p1=0;
	while(p1+nd5<p){
		p1=p1+nd5;
		nd5=nd5*5;
		}
	n=nd5;
	n1=n;
	p2=p1;
	while(p2>0){
		for(i=1;i<=4;i++)
		  if(p1+p2<=p){
		    p1=p1+p2;
		    n=n+n1;
		  }
		nd5=nd5/5;
		n1=nd5;
		p2=p2-nd5;
		}
	if(p1!=p)
		n=-1;
	}
f.open("fact.out",ios::out);
f<<n;
f.close();
return 0;
}