Cod sursa(job #137197)

Utilizator zalmanDanci Emanuel Sebastian zalman Data 17 februarie 2008 10:02:02
Problema Factoriale Scor 0
Compilator cpp Status done
Runda preONI 2008, Runda 4, Clasele 5-8 Marime 4.24 kb
#include<fstream.h>
long nr,n,i,k,x,j;
ifstream f("factoriale.in");
ofstream g("factoriele.out");
int  vf[50];
void frecv(int n)
{

if (n==2) {
vf[2]++;  }
if (n==3) {
vf[3]++;  }
if (n==4) {
vf[2]++; vf[2]++;  }
if (n==5) {
vf[5]++;  }
if (n==6) {
vf[2]++; vf[3]++;  }
if (n==7) {
vf[7]++;  }
if (n==8) {
vf[2]++; vf[2]++; vf[2]++;  }
if (n==9) {
vf[3]++; vf[3]++;  }
if (n==10) {
vf[2]++; vf[5]++;  }
if (n==11) {
vf[11]++;  }
if (n==12) {
vf[2]++; vf[2]++; vf[3]++;  }
if (n==13) {
vf[13]++;  }
if (n==14) {
vf[2]++; vf[7]++;  }
if (n==15) {
vf[3]++; vf[5]++;  }
if (n==16) {
vf[2]++; vf[2]++; vf[2]++; vf[2]++;  }
if (n==17) {
vf[17]++;  }
if (n==18) {
vf[2]++; vf[3]++; vf[3]++;  }
if (n==19) {
vf[19]++;  }
if (n==20) {
vf[2]++; vf[2]++; vf[5]++;  }
if (n==21) {
vf[3]++; vf[7]++;  }
if (n==22) {
vf[2]++; vf[11]++;  }
if (n==23) {
vf[23]++;  }
if (n==24) {
vf[2]++; vf[2]++; vf[2]++; vf[3]++;  }
if (n==25) {
vf[5]++; vf[5]++;  }
if (n==26) {
vf[2]++; vf[13]++;  }
if (n==27) {
vf[3]++; vf[3]++; vf[3]++;  }
if (n==28) {
vf[2]++; vf[2]++; vf[7]++;  }
if (n==29) {
vf[29]++;  }
if (n==30) {
vf[2]++; vf[3]++; vf[5]++;  }
if (n==31) {
vf[31]++;  }
if (n==32) {
vf[2]++; vf[2]++; vf[2]++; vf[2]++; vf[2]++;  }
if (n==33) {
vf[3]++; vf[11]++;  }
if (n==34) {
vf[2]++; vf[17]++;  }
if (n==35) {
vf[5]++; vf[7]++;  }
if (n==36) {
vf[2]++; vf[2]++; vf[3]++; vf[3]++;  }
if (n==37) {
vf[37]++;  }
if (n==38) {
vf[2]++; vf[19]++;  }
if (n==39) {
vf[3]++; vf[13]++;  }
if (n==40) {
vf[2]++; vf[2]++; vf[2]++; vf[5]++;  }
if (n==41) {
vf[41]++;  }
if (n==42) {
vf[2]++; vf[3]++; vf[7]++;  }
if (n==43) {
vf[43]++;  }
if (n==44) {
vf[2]++; vf[2]++; vf[11]++;  }
if (n==45) {
vf[3]++; vf[3]++; vf[5]++;  }
if (n==46) {
vf[2]++; vf[23]++;  }
if (n==47) {
vf[47]++;  }
if (n==48) {
vf[2]++; vf[2]++; vf[2]++; vf[2]++; vf[3]++;  }
if (n==49) {
vf[7]++; vf[7]++;  }
if (n==50) {
vf[2]++; vf[5]++; vf[5]++;  }
if (n==51) {
vf[3]++; vf[17]++;  }
if (n==52) {
vf[2]++; vf[2]++; vf[13]++;  }
if (n==53) {
vf[53]++;  }
if (n==54) {
vf[2]++; vf[3]++; vf[3]++; vf[3]++;  }
if (n==55) {
vf[5]++; vf[11]++;  }
if (n==56) {
vf[2]++; vf[2]++; vf[2]++; vf[7]++;  }
if (n==57) {
vf[3]++; vf[19]++;  }
if (n==58) {
vf[2]++; vf[29]++;  }
if (n==59) {
vf[59]++;  }
if (n==60) {
vf[2]++; vf[2]++; vf[3]++; vf[5]++;  }
if (n==61) {
vf[61]++;  }
if (n==62) {
vf[2]++; vf[31]++;  }
if (n==63) {
vf[3]++; vf[3]++; vf[7]++;  }
if (n==64) {
vf[2]++; vf[2]++; vf[2]++; vf[2]++; vf[2]++; vf[2]++;  }
if (n==65) {
vf[5]++; vf[13]++;  }
if (n==66) {
vf[2]++; vf[3]++; vf[11]++;  }
if (n==67) {
vf[67]++;  }
if (n==68) {
vf[2]++; vf[2]++; vf[17]++;  }
if (n==69) {
vf[3]++; vf[23]++;  }
if (n==70) {
vf[2]++; vf[5]++; vf[7]++;  }
if (n==71) {
vf[71]++;  }
if (n==72) {
vf[2]++; vf[2]++; vf[2]++; vf[3]++; vf[3]++;  }
if (n==73) {
vf[73]++;  }
if (n==74) {
vf[2]++; vf[37]++;  }
if (n==75) {
vf[3]++; vf[5]++; vf[5]++;  }
if (n==76) {
vf[2]++; vf[2]++; vf[19]++;  }
if (n==77) {
vf[7]++; vf[11]++;  }
if (n==78) {
vf[2]++; vf[3]++; vf[13]++;  }
if (n==79) {
vf[79]++;  }
if (n==80) {
vf[2]++; vf[2]++; vf[2]++; vf[2]++; vf[5]++;  }
if (n==81) {
vf[3]++; vf[3]++; vf[3]++; vf[3]++;  }
if (n==82) {
vf[2]++; vf[41]++;  }
if (n==83) {
vf[83]++;  }
if (n==84) {
vf[2]++; vf[2]++; vf[3]++; vf[7]++;  }
if (n==85) {
vf[5]++; vf[17]++;  }
if (n==86) {
vf[2]++; vf[43]++;  }
if (n==87) {
vf[3]++; vf[29]++;  }
if (n==88) {
vf[2]++; vf[2]++; vf[2]++; vf[11]++;  }
if (n==89) {
vf[89]++;  }
if (n==90) {
vf[2]++; vf[3]++; vf[3]++; vf[5]++;  }
if (n==91) {
vf[7]++; vf[13]++;  }
if (n==92) {
vf[2]++; vf[2]++; vf[23]++;  }
if (n==93) {
vf[3]++; vf[31]++;  }
if (n==94) {
vf[2]++; vf[47]++;  }
if (n==95) {
vf[5]++; vf[19]++;  }
if (n==96) {
vf[2]++; vf[2]++; vf[2]++; vf[2]++; vf[2]++; vf[3]++;  }
if (n==97) {
vf[97]++;  }
if (n==98) {
vf[2]++; vf[7]++; vf[7]++;  }
if (n==99) {
vf[3]++; vf[3]++; vf[11]++;  }
if (n==100) {
vf[2]++; vf[2]++; vf[5]++; vf[5]++;  }

}
int main()
{
nr=1;
f>>n>>k;
for(i=1;i<=n;i++)
{
   f>>x;
for(j=1;j<=x;j++)
   frecv(j);
}
for(i=1;i<=50;i++)
 if (vf[i]%2==1) {
 nr=nr*i;
 }
 g<<nr;
 f.close();
 g.close();
 return 0;
}