Cod sursa(job #542595)

Utilizator Rares95Rares Arnautu Rares95 Data 26 februarie 2011 16:33:28
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
# include <fstream>
  using namespace std;
	
	ifstream f ( "fact.in" );
	ofstream g ( "fact.out" );
	
	  int P, N;
		
		int NRz (int x) {
			int nr = 0;
			while (x) {nr += x / 5; x /= 5;}
			return nr;
		}
		
		int main () {
			
			f >> P;
			
			int st, dr, mij;
			
			if (!P) {g << "1\n"; return 0;}
			
			N = -1;
			st = 0;
			dr = 0x3fffffff;
			
			while (st <= dr) {
				mij = (st + dr) / 2;
				if (NRz(mij) == P) {N = mij; break;}
				  else 
						if (NRz(mij) < P) st = mij + 1;
							else dr = mij - 1;
			}
			
			if (N != -1) N = N - (N % 5);
			
			g << N << '\n';
			
			g.close ();
			return 0;
			
		}