Cod sursa(job #1937063)

Utilizator werz66Nagy Peter werz66 Data 23 martie 2017 17:50:09
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

long zeros(long x) {
    long pro = 5;
    long db = 0;
    while(pro<=x) {
        db = db + x/pro;
        pro = pro * 5;
    }
    return db;
}

long binary_s(long a,long b, long p) {
    long c = (a+b)/2;
    c = c - c % 5;
    if((zeros(c))==p) {
        return c;
    }
    else {
        if(a==b) {
            return -1;
        }
    else {
        if(zeros(c)<p) {
            return binary_s(c+5,b,p);
        }
    else {
        return binary_s(a,c-5,p);
    }
}
    }}

int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    long int p;
    long int i = 0;
    long db = 0;
    f >> p;
    if(p==0) {
        g << 1;
    }
    else {
        long a = 5; long b = 5 * p;
        g << binary_s(a,b,p);
    }
    return 0;
}