Pagini recente » Cod sursa (job #2164341) | Cod sursa (job #748993) | Cod sursa (job #467606) | Cod sursa (job #1148505) | Cod sursa (job #1847324)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin ("cifra.in");
ofstream fout ("cifra.out");
int t,i,n,nr,rest,uc,a[10][5],suma,w[110];
char v[110];
int main (){
//a[i][j] - ultima cufra a lui i la puterea j(0<=j<4);
for (nr=1;nr<=9;nr++){
i = nr;
rest = nr%4;
if (i==1){
a[1][0] = a[1][1] = a[1][2] = a[1][3] = 1;
}
if (i==2){
if (rest == 0)
a[2][0] = 6;
if (rest == 1)
a[2][1] = 2;
if (rest == 2)
a[2][2] = 4;
if (rest == 3)
a[2][3] = 8;
}
if (i==3){
if (rest == 0)
a[3][0] = 1;
if (rest == 1)
a[3][1] = 3;
if (rest == 2)
a[3][2] = 9;
if (rest == 3)
a[3][3] = 7;
}
if (i==4){
if (rest%2 == 0)
a[4][0] = a[4][2] = 6;
else
a[4][1] = a[4][3] = 4;
}
if (i==5){
a[5][0] = a[5][1] = a[5][2] = a[5][3] = 5;
}
if (i==6){
a[6][0] = a[6][1] = a[6][2] = a[6][3] = 6;
}
if (i==7){
if (rest == 0)
a[7][0] = 1;
if (rest == 1)
a[7][1] = 7;
if (rest == 2)
a[7][2] = 9;
if (rest == 3)
a[7][3] = 3;
}
if (i==8){
if (rest == 0)
a[8][0] = 6;
if (rest == 1)
a[8][1] = 8;
if (rest == 2)
a[8][2] = 4;
if (rest == 3)
a[8][3] = 2;
}
if (i==9){
if (rest%2 == 0)
a[9][0] = a[9][2] = 1;
else
a[9][1] = a[9][3] = 9;
}
}
w[0] = 0;
for (i=1;i<=99;i++){
uc = a[i%10][i%4];
w[i] = (w[i-1]+uc)%10;
}
suma %= 10;
fin>>t;
for (;t--;){
fin>>v;
n = strlen (v);
if (n > 1){
nr = (v[n-2]-'0')*10+(v[n-1]-'0');
}
else{
nr = v[n-1]-'0';
}
// trebuie sa afisam ultima cifra a numarului nr
fout<<w[nr]<<"\n";
}
return 0;
}