Pagini recente » Cod sursa (job #1129622) | Cod sursa (job #1072770) | Cod sursa (job #2826059) | Cod sursa (job #1912558) | Cod sursa (job #2609983)
#include <iostream>
#include <fstream>
using namespace std;
int apartii_de_5 ( int n ){
int coeficient = 5;
int cnt = 0;
while (n / coeficient){
cnt += n / coeficient;
coeficient *= 5;
}
return cnt;
}
int main(){
ifstream f("fact.in");
ofstream g("fact.out");
int p;
f >> p;
int cnt = 0;
if ( p == 0 )
g << 1 << "\n";
else{
int st = 0;
int dr = p * 5;
int mid;
int sol = -1;
while (st <= dr){
mid = (st + dr) / 2;
if(apartii_de_5(mid) > p )
dr = mid - 1;
else
if ( apartii_de_5(mid) < p )
st = mid + 1;
else
if ( apartii_de_5(mid) == p && apartii_de_5(mid -1 ) < p){
sol = mid;
break;
}
else
dr = mid - 1;
}
if ( sol % 5 == 0 )
g << mid;
else
g << -1;
}
return 0;
}