Pagini recente » Cod sursa (job #1912231) | Cod sursa (job #1805711) | Cod sursa (job #141510) | Cod sursa (job #1546068) | Cod sursa (job #1864625)
#include <fstream>
#include <cstring>
using namespace std;
unsigned int lasd(unsigned int a, unsigned int x)
{
a%=10;
if ((a==0)||(a==1)||(a==5)||(a==6))
return a;
if (a==4)
{
if (((x%4)%2)==1) return 4;
return 6;
}
if (a==9)
{
if (((x%4)%2)==1) return 9;
return 1;
}
if (a==3)
{
if (x%4==0) return 1;
if (x%4==1) return 3;
if (x%4==2) return 9;
if (x%4==3) return 7;
}
if (a==2)
{
if (x%4==0) return 6;
if (x%4==1) return 2;
if (x%4==2) return 4;
if (x%4==3) return 8;
}
if (a==7)
{
if (x%4==0) return 1;
if (x%4==1) return 7;
if (x%4==2) return 9;
if (x%4==3) return 3;
}
if (a==8)
{
if (x%4==0) return 8;
if (x%4==1) return 4;
if (x%4==2) return 2;
if (x%4==3) return 6;
}
}
unsigned int r[105];
int main()
{
ifstream fin("cifra.in");
ofstream fout("cifra.out");
unsigned int n,T,x,j;
char *s;s=new char[105];
for (j=1;j<=100;j++)
{
r[j]=(r[j-1]+lasd(j,j))%10;
}
fin>>T;
for (;T;T--)
{
fin.get();
fin.get(s,105);
n=strlen(s);
if (n==1) x=s[0]-'0';
else x=(s[n-2]-'0')*10+(s[n-1]-'0');
fout<<r[x]<<'\n';
}
fin.close();
fout.close();
return 0;
}