Cod sursa(job #805973)

Utilizator marckaszMarc Spataru marckasz Data 1 noiembrie 2012 15:58:12
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
using namespace std;
int main(){
    freopen ("fact.in","r",stdin);
    freopen ("fact.out","w",stdout);
    int l1,l2,p1,p2,p,k,n,pp=0,m;
    l1=1;
    p1=0;
    l2=1000000000;
    p2=100000000;
    scanf ("%d",&p);
    if (p==0) {
        printf ("1");
        return 0;
    }
    while(l1<=l2 &&pp==0){
        k=5;
        n=0;
        m=(l1+l2)/2;
        while(k<=m){
            n=n+m/k;
            k*=5;
        }
        if (n==p) pp=1;
        else
        if (n>p) {
            l2=m;
            p2=n;
        }
        else {
            l1=m;
            p1=n;
        }
    }
    printf ("%d",m-m%5);
    return 0;
}