Cod sursa(job #1928987)

Utilizator alex273Groza Alexandru alex273 Data 16 martie 2017 22:22:37
Problema Factorial Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#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;
}