Cod sursa(job #805806)

Utilizator NastureNasture Anca Nasture Data 1 noiembrie 2012 10:37:14
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<stdio.h>
int put(int n){
    int p1=0,c5=5;
    while(n/c5>=1){
        p1+=n/c5;
        c5*=5;
    }
    return p1;
}
int main(){
    int l1,l2,n,p,puterea;
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    scanf("%d",&p);
    l1=1;
    l2=1<<30;
    bool pp=false;
    while(l1<=l2&&!pp){
        n=(l1+l2)/2;
        puterea=put(n);
        if(puterea==p)
            pp=true;
        else
            if(puterea>p)
                l2=n-1;
            else
                l1=n+1;
    }
    if(n==0)
        printf("1");
    else
        if(pp)
            printf("%d",n-n%5);
        else
            printf("-1");
    return 0;
}