Cod sursa(job #2621835)

Utilizator BulaceanuAlexandraBulaceanu Alexandra-Irina BulaceanuAlexandra Data 30 mai 2020 20:55:07
Problema Factorial Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <bits/stdc++.h>
#include <fstream>

using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

int nrZerouriFinal(int n){
    int p=5, s = 0;
    while(p <= n)
      {
        s += n / p;
        p *= 5;
      }

   return s;
}

int main(){
    int p;
    fin>>p;
    int stg=5, dr= p*100000;

    if(p==0) fout<<1;
    else{
    while(stg<=dr){
       //cout<<"in while";
       int mid = stg+(dr-stg)/2;
        if(nrZerouriFinal(mid)<p)
            stg = mid+1;
        else
            dr = mid-1;
    }

    if(nrZerouriFinal(stg)==p)
        fout<<stg;
    else
        fout<<-1;
    }

    return 0;
}