Pagini recente » Cod sursa (job #824691) | Cod sursa (job #2372235) | Cod sursa (job #3214693) | Cod sursa (job #3125043) | Cod sursa (job #1928987)
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
ifstream f ("fact.in");
ofstream g ("fact.out");
long int m=1,p,logaritm;
void zero(int);
int main ()
{
f>>p;
logaritm=log10(p)/log10(5);
if (logaritm==1) m=5; if ( logaritm==2) m=10; if (logaritm==3) m=30;
if (logaritm==4) m=100; else
for (int i=1;i<=logaritm-3;++i) m=m*10;
if (logaritm==0) {logaritm=1;m=10;}
zero (p*5);
return 0;
}
void zero(int p1)
{ long int mem,k=0,suma=0;mem=p1;
do
{ k=0;suma=0;
do
{
p1=p1/5; suma+=p1; k++;
} while (k-1!=logaritm);
if (suma>p) {mem-=m;p1=mem;}
if (suma<p) {mem+=5;p1=mem;}
}
while (suma!=p);
g<<mem;
}