Cod sursa(job #1791792)

Utilizator rotti321Rotar Mircea rotti321 Data 29 octombrie 2016 18:51:19
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#include <limits>
using namespace std;

int f(int n){
    int rez = 0;
    while(n){
        rez += n / 5;
        n /= 5; }
    return rez; };

int do_search(int rez){
    if(rez == 0){
        return 1; }
    int st = 1, dr = numeric_limits<decltype(dr)>::max(), mij;
    while(st < dr){
        mij = st + (dr-st)/2;
        if(f(mij) >= rez){
            dr = mij; }
        else{
            st = mij+1; } }
    return f(st) == rez ? st : -1; }

int main(){
    ifstream f("fact.in");
    ofstream g("fact.out");
    int n;
    f >> n;
    g << do_search(n);
    return 0; }