Pagini recente » Cod sursa (job #535777) | Cod sursa (job #535773) | Cod sursa (job #609587) | Cod sursa (job #3229821) | Cod sursa (job #266993)
Cod sursa(job #266993)
#include<iostream.h>
#include<fstream.h>
ifstream f("cifra.in");
ofstream g("cifra.out");
int uc[10][5],ucs[2],q=0,t,nrc=1,i,j;
long long nr[100][3];
void cit()
{f>>t;
for(i=1; i<=t; i++)
f>>nr[i][0], nr[i][1]=i;
}
void ultcif()
{for(i=0; i<10; i++) uc[i][1]=i;
for(i=0; i<10; i++) uc[i][2]=uc[i][1]*i%10;
for(i=0; i<10; i++) uc[i][3]=uc[i][2]*i%10;
for(i=0; i<10; i++) uc[i][4]=uc[i][3]*i%10;
}
void schimb(long long &a, long long &b, long long &c, long long &d)
{long long aux1, aux2;
aux1=a; aux2=b; a=c; b=d; c=aux1; d=aux2;
}
void calc()
{ucs[1]=1; ucs[2]=4; i=3; q=3;
while(nrc<t)
{while(i<nr[nrc][2])
{q++; if(q==5) q=1;
ucs[i]=ucs[i-1];
ucs[i]+=uc[i][q];
ucs[i]%=10;
i++;
}
nrc++;
}
}
void ord1()
{for(i=1; i<=t; i++)
for(j=i+1; j<=t; j++)
{if(nr[j][0]<nr[i][0]) schimb(nr[j][0], nr[j][1], nr[i][0], nr[i][1]);
}
}
void ord2()
{for(i=1; i<=t; i++)
for(j=i+1; j<=t; j++)
{if(nr[j][1]<nr[i][1]) schimb(nr[j][0], nr[j][1], nr[i][0], nr[i][1]);
}
}
void scrie()
{for(i=1; i<=t; i++)
{g<<nr[i][0]<<'\n';
}
}
int main()
{cit(); ultcif(); ord1(); calc(); ord2(); scrie();
f.close(); g.close(); return 0;
}