Pagini recente » Cod sursa (job #792483) | Cod sursa (job #1682229) | Cod sursa (job #1200055) | Cod sursa (job #1395745) | Cod sursa (job #355015)
Cod sursa(job #355015)
#include<iostream>
using namespace std;
#include<fstream>
ifstream f("cifra.in");
ofstream g("cifra.out");
int t,cont1,int1,int2;
char c[101];
long int n,s;
int main () {
f>>t;
for (cont1=1;cont1<=t;cont1++)
{
f>>c; int i=100;
while (c[i]<'0' || c[i]>'9') i--;
int2=c[i]-'0'; if (i>=1) int1=c[i-1]-'0'; else int1=0;
n=int1*10+int2;
if (n%10!=0 || n==10) {s=7*(n/10); // 1-10 = 47
if (n%10>=1) s+=1;
if (n%10>=2) {
if ((n/10+2)%4==1) s+=2;
if ((n/10+2)%4==2) s+=4;
if ((n/10+2)%4==3) s+=8;
if ((n/10+2)%4==0) s+=6;}
if (n%10>=3) {
if ((n/10+3)%4==1) s+=3;
if ((n/10+3)%4==2) s+=9;
if ((n/10+3)%4==3) s+=7;
if ((n/10+3)%4==0) s+=1;}
if (n%10>=4) {
if ((n/10+4)%2==1) s+=4;
if ((n/10+4)%2==0) s+=6;}
if (n%10>=5) s+=5;
if (n%10>=6) s+=6;
if (n%10>=7) {
if ((n/10+7)%4==1) s+=7;
if ((n/10+7)%4==2) s+=9;
if ((n/10+7)%4==3) s+=3;
if ((n/10+7)%4==0) s+=1;}
if (n%10>=8) {
if ((n/10+8)%4==1) s+=8;
if ((n/10+8)%4==2) s+=4;
if ((n/10+8)%4==3) s+=2;
if ((n/10+8)%4==0) s+=6;}
if (n%10>=9) {
if ((n/10+9)%2==1) s+=9;
if ((n/10+9)%2==0) s+=1;}
}
else s=7*n/10%10; //{while (n%10==0) n/=10;
g<<s%10<<endl;
}
f.close();g.close();
return 0;
}