Cod sursa(job #1087479)
| Utilizator | Data | 19 ianuarie 2014 14:42:31 | |
|---|---|---|---|
| Problema | Factorial | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.76 kb |
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int p;
int factorial(int n)
{
int counter=0;
for(int i = 5; i<=n; i+=5)
{
int aux = i;
while(aux%5==0)
{
counter++;
aux/=5;
}
}
return counter;
}
int bin(int a , int b)
{
int m = (a+b)/2;
if(a<=b)
if(factorial(m)<p)
{
return bin(m+1,b);
}
else if(factorial(m)>p)
{
return bin(a,m-1);
}
else
return m;
}
int main()
{
f>>p;
if(p==0)
g<<1;
else
{
g<<bin(0,p*5);
}
return 0;
}
