Pagini recente » Cod sursa (job #3157874) | Cod sursa (job #914408) | Cod sursa (job #2081715) | Cod sursa (job #815710) | Cod sursa (job #129793)
Cod sursa(job #129793)
/*
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>
#include<string.h>
using namespace std;
int r20,resturiRepetabile[20]={0,1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4};
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;
s=(s+resturiRepetabile[r20])%10;
g<<s<<endl;
}
f.close();
g.close();
return 0;
}