Cod sursa(job #2550276)

Utilizator Chr1styDescultu Cristian Chr1sty Data 18 februarie 2020 17:55:39
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <iostream>
#include <fstream>
using namespace std;

#define ULONG 4294967295



int main() {
	long long int nrOfZeros;
	long long int myNr, contorP = 0, pow = 1;
	ifstream myfile;
 	myfile.open("fact.in");
 	ofstream outfile ("fact.out");
 	myfile >> nrOfZeros;
 		while(myNr < ULONG) {
 			myNr += (4 * pow);
 			contorP += (pow - 1);
 			pow *= 5;
 		}
 		pow /= 5;

 		for (long long int i = pow; i > 0; i /= 5) {
 			if (contorP == nrOfZeros) {
 				break;
 			}
 			if (contorP - (i - 1) / 4 >= nrOfZeros) {
 				contorP -= (i - 1) / 4;
 				myNr -= i;

 				if (contorP - (i - 1) / 4 >= nrOfZeros) {
 					contorP -= (i - 1) / 4;
 					myNr -= i;

 					if (contorP - (i - 1) / 4 >= nrOfZeros) {
 						contorP -= (i - 1) / 4;
 						myNr -= i;

 						if (contorP - (i - 1) / 4 >= nrOfZeros) {
 						contorP -= (i - 1) / 4;
 						myNr -= i;
 					}
 				}
 			}
 		}
 	}

 	if (nrOfZeros != 0) {
 		myNr -= 4;
 		outfile << myNr;
 	} else {
 		outfile << 1;
 	}
 	myfile.close();
 	outfile.close();
 	return 0;
}