Pagini recente » Cod sursa (job #2922484) | Cod sursa (job #883602) | Cod sursa (job #2614566) | Cod sursa (job #2114257) | Cod sursa (job #541894)
Cod sursa(job #541894)
#include <fstream>
using namespace std;
inline unsigned int zerouri(unsigned int n) {
unsigned int suma=0;
unsigned int x;
x=n;
while(n) {
suma+=n%5;
n/=5;
}
return (x-suma)/4;
}
int main() {
unsigned int nr_zerouri,aproximare_n,nr_zerouri_n_factorial;
bool gasit=false;
ifstream f("fact.in");
f>>nr_zerouri;
f.close();
ofstream g("fact.out");
if(nr_zerouri==0) {
g<<1;
g.close();
return 0;
}
aproximare_n=nr_zerouri*4;
verifica:
if(!gasit) {
nr_zerouri_n_factorial=zerouri(aproximare_n);
if(nr_zerouri_n_factorial==nr_zerouri) {
gasit=true;
g<<aproximare_n;
g.close();
return 0;
}
else if(nr_zerouri_n_factorial>nr_zerouri){
gasit=true;
} else {
aproximare_n++;
}
goto verifica;
}
g<<-1;
g.close();
return 0;
}