Pagini recente » Cod sursa (job #2734228) | Cod sursa (job #762164) | Cod sursa (job #1534753) | Cod sursa (job #2397435) | Cod sursa (job #732786)
Cod sursa(job #732786)
//Beiland Arnold
#include <fstream>
#include <string>
short usz(short x); // x: numar format din ultimele doua cifre
int main(){
std::ifstream fin("cifra.in");
std::ofstream fout("cifra.out");
short T;
fin>>T;
for(short i=0;i<T;i++){
std::string s;
fin>>s;
int sz = s.length();
if(sz>1) fout<<usz((s[sz-2]-48)*10+s[sz-1]-48)<<'\n';
else fout<<usz(s[sz-1]-48)<<'\n';
}
fout.close();
fin.close();
return 0;
}
short usz(short x){
short retval=0;
static const short impar[]={0, 1, 4, 7, 6, 5, 6, 3, 6, 9}; //penultima cifra
static const short par[]={0, 1, 6, 3, 6, 5, 6, 7, 4, 9};
for(short i=1;i<=x;i++){
if(i<10||i/10%2) retval+=impar[i%10];
else retval+=par[i%10];
retval%=10;
}
return retval;
}