Cod sursa(job #1411629)

Utilizator raluca1234Tudor Raluca raluca1234 Data 31 martie 2015 20:53:13
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<iostream>
#include<fstream>
using namespace std;
int p,n,nrzero,st,dr,poz,m;

int nrzfact(int x) {
    int i,nr,p5=0;
    for (i=5; i<=x; i=i+5){
        nr=i;
        while (nr%5==0) {
            p5++;
            nr=nr/5;
        }
    }
    return p5;
}

int main(){
    ifstream f("fact.in");
    ofstream g("fact.out");
    f>>p;
    if (p==0) { g<<"1"; return 0; }
    st=0;
    dr=500000000;
    poz=-1;
    while (poz==-1 && st<=dr) {
        m=(st+dr)/2;
        nrzero=nrzfact(m);
        //cout<<"m="<<m<<" nrzero="<<nrzero<<'\n';
        if (nrzero==p) poz=m;
        else if (p<nrzero) dr=m-5;
        else st=m+5;
    }
    g<<poz/5*5<<'\n';


    f.close();
    g.close();
    return 0;
}