Cod sursa(job #1011243)

Utilizator beyond_k7aOnutu Catalin beyond_k7a Data 16 octombrie 2013 16:58:00
Problema Factorial Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<iostream>
#include<fstream>
//#include<conio.h>
using namespace std;
int nrOfZeros(int y)
{
	int x=y;
	int nrZ=x;
	while(x>=5)
	{
		x/=5;
		nrZ+=x;
	}
	return nrZ;
}
//long maxim = 80000003;

int findTheOne(long current,long p)
{	
	int x=nrOfZeros(current);
	
	if(nrOfZeros(current) > p)
		return -1;
	if(nrOfZeros(current) == p)
		return current*5;
	return findTheOne(current+1,p);
}

int main()
{
	long p,n=1;

	
	ifstream f("fact.in");
	f>>p;
	f.close();

	
	n = (p==0)?1:findTheOne(p/2,p);

	/*
	for(int i=0;i<=10000;i+=100)
		cout<<"P= "<<i<<"   N= "<<findTheOne(i/2,i)<<endl;
	
	getch();
	
	*/
	ofstream g("fact.out");
	g<<n<<"\n";
	g.close();
	
	
	return 0;
}