Cod sursa(job #2624951)

Utilizator marian222200Dimofte Marian marian222200 Data 5 iunie 2020 16:59:54
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.38 kb
// tema_sd_mare.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <fstream>
#include <algorithm>
#define N 800
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int zerouri(int x) {
    int z = 0, put5 = 5;
    while (x >= put5) {
        z += x / put5;
        put5 *= 5;
    }
    return z;
}
int cb(int p, int st, int dr) {
    if (st <= dr) {
        int m = (st + dr) / 2;
        int z = zerouri(m);
        if (z == p)return m - m % 5;
        else if (z < p)return cb(p, m + 1, dr);
        else cb(p, st, m - 1);
    }
    else return -1;
}
int main() {
    int p;
    fin >> p;
    if (p == 0){fout << "1"; return 0;}
    fout <<  cb(p, 5, 2000000000);
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file