Pagini recente » Cod sursa (job #2987022) | Cod sursa (job #1077706) | Cod sursa (job #115292) | Cod sursa (job #3268557) | Cod sursa (job #1667297)
#include <iostream>
#include <fstream>
#define intm 32000
using namespace std;
long verificare(int n)
{
long nr_zero;
nr_zero=0;
while(n/5)
{
nr_zero+=n/5;
n/=5;
}
return nr_zero;
}
long p;
int main()
{
ifstream in ("fact.in");
ofstream out ("fact.out");
long mij,li=0,ls=intm;
bool gasit;
in>>p;
while((li<=ls)&&(!gasit))
{
mij=(li+ls)/2; //aflam indicele care reprezinta mijlocul tabloului.
if(verificare(mij)==p&&verificare(mij-1)<p)
{
out<<mij;
gasit=1;
}
else
if(verificare(mij)<p) // Cautare se face in dreapta
li=mij+1; // Actualizare li
else ls=mij-1; // Cautarea se face in stanga
}
if(gasit==0)
out<<mij;
}