Cod sursa(job #1405467)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 29 martie 2015 11:53:14
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
int v[1001];
int find(int a,int b,int x){
    int l1=a,l2=b,m,elem;
    while(l1<=l2){
        m=(l1+l2)/2;
        if(v[m]<=x){
            elem=m;
            l1=m+1;
        }
        else
            l2=m-1;
    }
    return elem;
}
int main() {
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int p;
    long long l1=1,l2=1000000000000000,pow,elem=1000000000000001,m,nr;
    scanf("%d",&p);
    while(l1<=l2){
        m=(l1+l2)/2;
        nr=0;
        pow=5;
        while(m/pow>0){
            nr=nr+m/pow;
            pow*=5;
        }
        if(nr==p&&m<elem)
            elem=m;
        if(nr>=p)
            l2=m-1;
        else
            l1=m+1;
    }
    printf("%d",elem);
    return 0;
}