Cod sursa(job #2625228)

Utilizator StefanaArinaStefana Arina Tabusca StefanaArina Data 5 iunie 2020 20:16:18
Problema Factorial Scor 100
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <iostream>
	
using namespace std;
	
	
ifstream f("fact.in");	
ofstream g("fact.out");	 
	
int nr_zerouri(long long int n)
{
    long long int nr = 0, d;
    for(d = 5; d <= n; d = d * 5) {
        nr += n / d;
    }
    return nr;
}
 
int main()
{	
	
    long long int  p;
    long long int left = 1, right = 1000000000;
    f >> p;
    
    while(left <= right) {
        long long int mid = (left + right) / 2;
        if(nr_zerouri(mid) < p) {
            left = mid + 1;
        }
        else {
            right = mid - 1;
        }
    }
    if(nr_zerouri(left) == p) 
        g << left;
    else
        g << "-1";
        
    return 0;	
}