Cod sursa(job #1768607)

Utilizator bogdi1bogdan bancuta bogdi1 Data 1 octombrie 2016 11:43:12
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>

using namespace std;
int put5[15];
long long nr0(int n)
{
    long long r=n/5;
    int i;
    for(i=1; i<=12 && n>put5[i]; i++)
        r+=i-1;
    return r;
}
int main()
{   freopen("factorial.in", "r",stdin);
    freopen("factorial.out", "w",stdout);
    int p,i,pas;
    scanf("%d", &p);
    put5[0]=1;
    for(i=1; i<=12; i++)
        put5[i]=5*put5[i-1];
    i=0;
    pas=1<<30;
    while(pas!=0){
        if(i+pas<=2147483648 && nr0(i+pas)<p)
            i+=pas;
        pas/=2;
    }
    printf("%d", i+1);
    return 0;
}