Cod sursa(job #592583)

Utilizator alexnustieinfoalexandru flo alexnustieinfo Data 29 mai 2011 11:12:41
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb

#include<iostream> 

#include<fstream> 

#include<string.h> 

#include<stdlib.h> 

#include<math.h> 

using namespace std; 

 

ifstream in("cifra.in"); 

ofstream out("cifra.out"); 

string s,t; 

long long a,b=0,i,n,m,t1; 

int cifra(int a) 

{ 

int nr = 0; 

if(a >= 1) 

nr += 1; 

if(a >= 2) 

nr += 4; 

if (a>=3) 

nr += 7; 

if (a>=4) 

nr += 6; 

if(a>=5) 

nr += 5; 

if(a>=6) 

nr += 6; 

if(a>=7) 

nr += 3; 

if(a>=8) 

nr += 6; 

if(a>=9) 

nr += 9; 

if(a>=11) 

nr += 1; 

if(a>=12) 

nr+= 6; 

if(a>=13) 

nr += 3; 

if(a>=14) 

nr += 6; 

if(a>=15) 

nr += 5; 

if(a>=16) 

nr += 6; 

if(a>=17) 

nr += 7; 

if(a>=18) 

nr += 4; 

if(a>=19) 

nr += 9; 

return nr%10; 

} 

int main() 

 

 

{ 

int nr; 

getline(in,t); 

t1=atoi(t.c_str()); 

for (int k=1;k<=t1;++k) 

{ 
getline(in,s); 

m=s.length(); 

if (m==1) {a=atoi(s.c_str());out<<cifra(a)<<'\n';} else

{a=atoi(s.substr(m-2,2).c_str()); 

a %=20; 

nr=atoi(s.substr(m-2,1).c_str()); 

nr=(nr/2)*4; 
out<<(cifra(a)+nr)%10<<'\n'; 

}} 

return 0; 

}