Pagini recente » Cod sursa (job #1546635) | Cod sursa (job #2933658) | Cod sursa (job #3188037) | Cod sursa (job #2924776) | Cod sursa (job #2367137)
// factorial.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
//#include "pch.h"
#include <utility>
#include <fstream>
#include <iostream>
#define RIGHT 1000000000
using std::ifstream;
using std::ofstream;
using std::pair;
using std::cout;
int P;
inline void readData() {
ifstream{ "fact.in" } >> P;
}
int getNumberOf5(long long x) {
int nr = static_cast<long long>(x / 5);
if (nr == 0) {
return 0;
}
return nr + getNumberOf5(nr);
}
long long getN(long long left, long long right) {
if (left > right) {
return -1;
}
long long nr = (left + right) >> 1;
long long rez = getNumberOf5(nr);
if (rez == P) {
while (nr && nr % 5 != 0) {
--nr;
}
return nr;
}
return (rez < P ? getN(nr + 1, right) : getN(left, nr - 1));
}
long long getN() {
if (P == 0) {
return 1;
}
return getN(0, RIGHT);
}
int main(){
readData();
ofstream{ "fact.out" } << getN();
return 0;
}