Cod sursa(job #889416)

Utilizator tr0gl0Radu - Iulian tr0gl0 Data 24 februarie 2013 15:03:21
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <math.h>
//#include <iostream>
using namespace std;

double zero(double n){
	double z,k;
	//double kmax;
	z=0;
	//kmax=floor((log10(n)/log10(5)));
	for(k=1; k<=n; k++)
		z+=floor(n/pow(5,k));

	return z;
}

int main() {
	double p,n,rez;
	
	ifstream f("fact.in");
    ofstream g("fact.out");
	f>>p;
	//cout<<"Nr de zerouri pt care se va afisa factorialul: ";
	//cin>>p;
	rez=-1;

	if (p>0) {
		n=4*p;
		while (n<=5*p) {
			
			if (zero(n)<p) {
					n++;
					
			}
			else
				if (zero(n)==p){
				rez=n;
				g<<rez<<endl;
				//cout<<"Factorialul dorit: "<<rez<<endl;
				break; 
				
				}
				else {
					g<<rez<<endl;
					//cout<<rez<<" : nu exista solutie"<<endl;
					break; 
				}
		}
	}
	else 
		g<<1<<endl;
		//cout<<1<<endl;
	    f.close();
        g.close();
	return 0;
}