Pagini recente » Cod sursa (job #2571093) | Cod sursa (job #3151360) | Cod sursa (job #437999) | Cod sursa (job #3216922) | Cod sursa (job #451088)
Cod sursa(job #451088)
#include <iostream>
#include <fstream>
using namespace std;
#include<stdio.h>
int calcul(int n)
{
int ult = n%10;
int ret = 0;
switch(ult)
{
case 0:
ret = 0;
break;
case 1:
ret = 1;
break;
case 2:
switch (n%4)
{
case 1:
ret = 2;
break;
case 2:
ret = 4;
break;
case 3:
ret = 4;
break;
case 0:
ret = 6;
break;
}
break;
case 3:
switch (n%4)
{
case 1:
ret = 3;
break;
case 2:
ret = 9;
break;
case 3:
ret = 7;
break;
case 0:
ret = 1;
break;
}
break;
case 4:
switch (n%2)
{
case 1:
ret = 4;
break;
case 0:
ret =6;
break;
}
break;
case 5:
ret =5;
break;
case 6:
ret =6;
break;
case 7:
switch (n%4)
{
case 1:
ret = 7;
break;
case 2:
ret = 9;
break;
case 3:
ret = 3;
break;
case 0:
ret = 1;
break;
}
break;
case 8:
switch (n%4)
{
case 1:
ret = 8;
break;
case 2:
ret = 4;
break;
case 3:
ret = 2;
break;
case 0:
ret = 6;
break;
}
break;
case 9:
switch (n%2)
{
case 1:
ret = 9;
break;
case 0:
ret = 1;
break;
}
break;
}
return ret;
}
int ncalcul(int n)
{
int s = 0;
for(int i=1;i<=n;i++)
{
s += calcul(i);
if(s > 10)
s = s%10;
}
return s;
}
int main()
{
//cout<< ncalcul(20)<<endl ; //--> 4
/* int nr = 232345341;
int x = (((nr/20)%10)*4)%10;
int y = ncalcul(nr%20);
int z = (x+y)%10;
cout<<z<<endl;
cout<<nr<<"="<<ncalcul(nr)<<endl;*/
int n = 0, k = 0;
freopen("cifra.in","r",stdin);
freopen("cifra.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&k);
int nr = k;
int x = (((nr/20)%10)*4)%10;
int y = ncalcul(nr%20);
int z = (x+y)%10;
printf("%d\n",z);
//k = ncalcul(k);
//printf("%d\n",k);
}
return 0;
}