Pagini recente » Cod sursa (job #1491392) | Cod sursa (job #2038416) | Cod sursa (job #1320563) | Cod sursa (job #2597691) | Cod sursa (job #781571)
Cod sursa(job #781571)
#include <iostream>
#include <fstream>
#include <string>
int pattern1[18]={0,1,5,2,8,3,9,2,8,0,1,7,0,6,1,7,4,8},pattern2[10]={7,4,1,8,5,2,9,6,3,0};
using namespace std;
int suma(int y,int x){
int r=0;
if(y){
if(y%2!=0)
r=9;
}
//cout<<"x="<<x<<" r="<<r<<" "<<pattern1[x+r-1]<<"\n";
return (pattern1[r+x])%10;
}
int main()
{
int t,i,k;string n;
ifstream f("cifra.in");
ofstream g("cifra.out");
f>>t;
for(i=1;i<=t;i++){
f>>n;
k=n.size();
if(k==1){
if(n[k-1]-'0'==9)
g<<pattern2[0]<<"\n";
else
g<<suma(0,n[k-1]-'0')<<"\n";
}
else
{if(n[k-2]-'0'==0)
g<<pattern2[9]<<"\n";
else {if(n[k-1]-'0'==9)
g<<pattern2[n[k-2]-'0']<<"\n";
else g<<(pattern2[n[k-2]-'0'-1]+suma(n[k-2]-'0',n[k-1]-'0'))%10<<"\n"; }
}}
f.close();
g.close();
return 0;
}