Cod sursa(job #1109166)

Utilizator chiturobertChitu Robert Alexandru chiturobert Data 16 februarie 2014 19:45:57
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int main()
{
int v[20],r[20],i,m,n,p,pp,p1;
p1=p;
f>>p;
n=0;
v[2]=1;v[3]=6;v[4]=31;v[5]=156;v[6]=781;v[7]=3906;v[8]=19531;v[9]=97656;v[10]=488281;v[11]=2441406;v[12]=12207031;v[13]=61035156;v[14]=1000000001;
r[2]=5;r[3]=25;r[4]=125;r[5]=625;r[6]=3125;r[7]=15625;r[8]=78125;r[9]=390625;r[10]=1953125;r[11]=9765625;r[12]=48828125;r[13]=244140625;r[14]=1220703125;
pp=0;
while(p!=0)
{
    m=0;
    for(i=2;i<=14;i++)
    {
        if(v[i]<=p)
        {
            m=i;
        }
    }
        p=p-v[m];
        n=n+r[m];
}
while(n/5>0)
{
  pp=pp+n/5;
  n= n/5;
}
if(pp==p1)
  g<<n;
else
  g<<"-1";

return 0;
}