Cod sursa(job #639650)

Utilizator ZexonAvramita Teodor Zexon Data 23 noiembrie 2011 18:34:40
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <iostream>
using namespace std;

ifstream in("fact.in");
ofstream out("fact.out");
int p;
int rez(int n)
{
    int r = 0;
    while(n>=5)
    {
        r+=n/5;
        n/=5;
    }
    return r;
}

int cauta (int p)
{
    int i,pas=1<<30;
    for(i=0;pas!=0;pas/=2)
    {
        if(rez(i+pas)<p)
            i+=pas;
    }
    return i+1;
}
int main()
{
    in>>p;
    int q=cauta(p);
    if(rez(q)!=p)
    out<<-1;
    else out<<q;
    return 0;
}