Pagini recente » Cod sursa (job #2233783) | Cod sursa (job #824556) | Cod sursa (job #1688284) | Cod sursa (job #1078386) | Cod sursa (job #1012524)
#include<fstream>
#include<cmath>
#include<climits>
using namespace std;
int calc(int);
int main(){
ifstream inFile("fact.in");
ofstream outFile;
outFile.open("fact.out");
long p;
inFile>>p;
// int i;
// outFile<<LONG_MAX<<"\n";
// for(i=1;calc(i)<p;i++);
int a=1, b=LONG_MAX-10;
int k=(a+b)/2;
while(calc(k)!=p-1){
if(calc(k)>p-1) b=k;
if(calc(k)<p-1) a=k;
k=(a+b)/2;
}
if(k%5==0) k+=5;
else while(k%5!=0) k++;
outFile<<k;
}
int calc(int n){ //Calculam exponentul lui 5 in n!
int expFive=0; //expTwo=0;
for(int i=1;n/pow(5,i)>0;i++) expFive+=n/pow(5,i);
/*
for(int i=1;n/pow(2,i)>0;i++) expTwo+=n/pow(2,i);
int k;
k=(expTwo>expFive)?expFive:expTwo;
*/
return expFive;
}