Pagini recente » Cod sursa (job #2549246) | Cod sursa (job #1028525) | Cod sursa (job #2542334) | Istoria paginii runda/24hours/clasament | Cod sursa (job #129701)
Cod sursa(job #129701)
/*
Se incadreaza in timp
Se iau ultimele 2 cifre alte numarului si se formeaza grupe de cate 20
Pentru cele ramase se aduna resturile repetabile
Suma unei grupe de 20 este 4
*/
#include<fstream.h>
#include<string.h>
int r20,resturiRepetabile[20]={0,1,4,7,6,5,6,3,6,9,0,1,6,3,6,5,6,7,4,9};
int Grupe20(char *sirTmp){
int DouaCifre;
if(strlen(sirTmp)==1)
DouaCifre=(int)sirTmp[strlen(sirTmp)-1]-(int)'0';
else
DouaCifre=((int)sirTmp[strlen(sirTmp)-2]-(int)'0')*10+((int)sirTmp[strlen(sirTmp)-1]-(int)'0');
r20=DouaCifre%20;
return DouaCifre/20;
}
int main(){
ifstream f("cifra.in");
ofstream g("cifra.out");
int grupeDe20;
char n[101];
int t,s,i,k;
f>>t;f.get();
for(i=0;i<t;i++){
f.getline(n,sizeof(n));
grupeDe20=Grupe20(n);
s=grupeDe20*4;
while(s>9)s%=10;
for(k=1;k<=r20;k++){
s=(s+resturiRepetabile[k])%10;
}
g<<s<<endl;
}
f.close();
g.close();
return 0;
}