Cod sursa(job #363049)

Utilizator EstarDaian Dragos Estar Data 11 noiembrie 2009 17:15:18
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>

using namespace std;

int main()
{
    long capat , inceput ,  p , n , k ;
    cin >> n;
    capat = 400000015;
    p = capat / 2 ;
    inceput = 1;
    while (p){
        p=(inceput+capat)/2;
        if (p % 5 == 1) p=p-1;
        if (p % 5 == 2) p=p-2;
        if (p % 5 == 3) p=p-3;
        if (p % 5 == 4) p=p-4;
        k = p/5+p/25+p/125+p/625+p/3125+p/15625+p/78125+p/390625+p/1953125+p/9765625+p/48828125+p/244140625;
        if (k==n) break;
        if (k>n){
        capat = p;
        }
        if (k<n){
            if (inceput == p) {
                p=-1;
                break;
            }
            inceput = p;
        }
        if (inceput == capat){
            p=-1;
            break;
        }
    }
    if (n != 0)
    cout <<p;
    else cout <<1;
}