Cod sursa(job #948717)

Utilizator raduchirilaChirila Radu Razvan raduchirila Data 11 mai 2013 14:17:07
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>
#include <math.h>
using namespace std ;
int main(){

    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    int n;
    scanf("%d",&n);
    if (n < 0) {
        printf("-1");
    }
    else if (n == 0){
        printf("1");
    }
    else {
        int beg = 0 , end = 500000000 , mij ,k,v;
        while (beg < end) {
            mij = (beg + end )/2 ;
            v = mij ;
            k = 0;
            while ( v > 0){
                k += v/5;
                v /=5;
            }
            if (k == n){
                printf("%d",mij-mij%5);
                return 0 ;
            }
            else if (k < n)
                beg = mij +1 ;
            else
                end = mij - 1 ;
        }
        printf("-1");
    }
    return 0 ;
}