Pagini recente » Cod sursa (job #2118206) | Cod sursa (job #2139774) | Cod sursa (job #830393) | Cod sursa (job #2381507) | Cod sursa (job #1969697)
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int adun0[10]={0,1,4,7,6,5,6,3,6,9};
int adun1[10]={0,1,6,3,6,5,6,7,4,9};
char s[101];
/*int adunare(int i){
if(i%10==0)
return 0;
if(i%10==1)
return 1;
if(i%10==2){
if(i%4==2)
return 4;
else
return 6;
}
if(i%10==3){
if(i%4==1)
return 3;
else
return 7;
}
if(i%10==4)
return 6;
if(i%10==5)
return 5;
if(i%10==6)
return 6;
if(i%10==7){
if(i%4==1)
return 7;
else
return 3;
}
if(i%10==8){
if(i%4==0)
return 6;
else
return 4;
}
if(i%10==9)
return 9;
}
*/
int main(){
FILE *fin,*fout;
fin=fopen("cifra.in","r");
fout=fopen("cifra.out","w");
int t,rez,k,ind,n,i;
fscanf(fin,"%d ",&t);
for(k=1;k<=t;k++){
fscanf(fin,"%s",s);
n=strlen(s);
ind=0;
rez=0;
if(n>1){
rez=(7*(s[n-2]-'0'))%10;
ind=(s[n-2]-'0')%2;
}
for(i=1;i<=s[n-1]-'0';i++){
if(ind==0)
rez=(rez+adun0[i])%10;
else
rez=(rez+adun1[i])%10;
}
fprintf(fout,"%d\n",rez);
}
/*rez=0;
for(i=1;i<=123;i++)
rez=(rez+adunare(i))%10;
fprintf(fout,"%d",rez);
*/
fclose(fin);
fclose(fout);
return 0;
}