Cod sursa(job #1400697)
Utilizator | Data | 25 martie 2015 13:22:59 | |
---|---|---|---|
Problema | Cifra | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.28 kb |
#include <fstream>
#include <string.h>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int t,i,j,p,k,uc,nr;
char c[103];
int main()
{
fin>>t;
for(i=1;i<=t;i++)
{
fin>>c;
p=strlen(c);
if(p>=2){nr=c[p-2];
j=c[p-2]*10+c[p-1];
k=j%4;uc=nr*7;
j=c[p-1];}
else {j=c[p-1]-48;k=j%4;}
if(j==1)uc=uc+1;
else if(j==2){if(k==1)uc=uc+3;
if(k==2)uc=uc+5;
if(k==3)uc=uc+9;
if(k==0)uc=uc+7;}
else if(j==3){if(k==1)uc=uc+0;
if(k==2)uc=uc+2;
if(k==3)uc=uc+2;
if(k==0)uc=uc+0;}
else if(j==4){if(k==1)uc=uc+4;
if(k==2)uc=uc+6;
if(k==3)uc=uc+6;
if(k==0)uc=uc+8;}
else if(j==5){if(k==1)uc=uc+3;
if(k==2)uc=uc+9;
if(k==3)uc=uc+1;
if(k==0)uc=uc+1;}
else if(j==6){if(k==1)uc=uc+7;
if(k==2)uc=uc+9;
if(k==3)uc=uc+5;
if(k==0)uc=uc+7;}
else if(j==7){if(k==1)uc=uc+4;
if(k==2)uc=uc+6;
if(k==3)uc=uc+2;
if(k==0)uc=uc+6;}
else if(j==8){if(k==1)uc=uc+4;
if(k==2)uc=uc+8;
if(k==3)uc=uc+8;
if(k==0)uc=uc+8;}
else if(j==9){if(k==1)uc=uc+7;
if(k==2)uc=uc+5;
if(k==3)uc=uc+7;
if(k==0)uc=uc+9;}
if(uc>=10)uc=uc%10;
fout<<uc<<'\n';
uc=0;
}
return 0;
}