Pagini recente » Cod sursa (job #3225396) | Cod sursa (job #1257392) | Cod sursa (job #1723048) | Cod sursa (job #2702436) | Cod sursa (job #1552801)
// cifra -- infoarena : http://www.infoarena.ro/problema/cifra
#include<fstream>
#include<iostream>
#include<cstring>
using namespace std;
int t,d,s[300001];
ifstream f("cifra.in");
ofstream g("cifra.out");
int ultima(int c,int e){int uc;
d=10*e+c;
if(c%5==0||c==6||c==1)return c;
if(c==4)return 6;
if(c==2){if(d%4==2)return 4;
if(d%4==0)return 6;}
if(c==9)return 9;
if(c==3){if(d%4==1)return 3;
if(d%4==3)return 7;}
if(c==7){if(d%4==1)return 7;
if(d%4==3)return 3;}
if(c==8){if(d%4==2)return 4;
if(d%4==0)return 6;}
}
int main(){
int i,j,dim,cz,cu;
char n[1005];
f>>t;
s[0]=0;
for(i=1;i<=t;i++)
{f>>n;
dim=strlen(n);
cu=n[dim-1]-48;
if(dim>1)cz=n[dim-2]-48;
else cz=0;
s[i]=s[i-1]+ultima(cu,cz);
s[i]=s[i]%10;
}
f.close();
for(i=1;i<=t;i++)
g<<s[i]<<"\n";
g.close();
return 0;}