Pagini recente » Cod sursa (job #2320927) | Cod sursa (job #780669)
Cod sursa(job #780669)
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
int pattern1[9]={1,4,7,6,5,6,3,9},pattern2[10]={7,4,1,8,5,2,9,6,3,0};
using namespace std;
int suma(int x){
int i,s=0;
for(i=0;i<x;i++){
s+=pattern1[i];
s%=10;
}
return s;
}
int period(int x,int y){
if(y%10==9)
return pattern2[x];
else
return pattern2[x-1];
}
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)
g<<suma(n[k-1]-'0')<<"\n";
else{
int q=(period(n[k-2]-'0',n[k-1]-'0'));
int z=((n[k-2]-'0'-1)*10+9);
g<<(q+suma(q-z-1))%10<<"\n";
}}
f.close();
g.close();
return 0;
}