Cod sursa(job #137958)

Utilizator hulparuadrianhulparu adrian hulparuadrian Data 17 februarie 2008 18:15:53
Problema Factoriale Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<fstream.h>
#include<iomanip.h>
#include<math.h>
                   ifstream f("factoriale.in");
                   ofstream g("factoriale.out");
int puteri[100],l,n,k,x;
int sol[300];
void calc_sol(int y)
{for(int i=300;i>=1;i--)
    {     sol[i]=(sol[i]*y)%10;
         sol[i-1]+=(sol[i]*y)/10;}
}
void mark_div(int l)
{
     int aux=l,d=2;
     while(aux!=1)
     {
               if(aux%d==0)
               while(aux%d==0)
                              {puteri[d]++;aux/=d;} 
                              d++;  
                  }
     }
int main()
{
    f>>n>>k;
    for(int i=1;i<=n;i++)
                     {f>>x;
                     for(int l=2;l<=x;mark_div(l),l++);
                                    }
sol[300]=1;
for(int i=2;i<=97;i++)
  {
                  if (puteri[i]) for(int y=1;y<=puteri[i]%k;calc_sol(i),y++);
                  }               
                int  i=1;
  while(sol[i]==0)i++;
  for(l=i;l<=300;l++) g<<sol[l];
    f.close();
    g.close();
    return 0;
    }