Cod sursa(job #1289829)
Utilizator | Data | 10 decembrie 2014 13:11:42 | |
---|---|---|---|
Problema | Cifra | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.71 kb |
#include <fstream>
#include <iostream>
using namespace std;
int u=0;
void rezolva(int a)
{
if(a==0) return;
int c=a%10;
switch(c)
{
case 1:
u+=1;
rezolva(a-1);
break;
case 2:
switch(a%4)
{
case 1:
u+=2;
rezolva(a-1);
break;
case 2:
u+=4;
rezolva(a-1);
break;
case 3:
u+=8;
rezolva(a-1);
break;
default:
u+=6;
rezolva(a-1);
break;
}
break;
case 3:
switch(a%4)
{
case 1:
u+=3;
rezolva(a-1);
break;
case 2:
u+=9;
rezolva(a-1);
break;
case 3:
u+=7;
rezolva(a-1);
break;
default:
u+=1;
rezolva(a-1);
break;
}
break;
case 4:
switch(a%4)
{
case 1:
u+=4;
rezolva(a-1);
break;
default:
u+=6;
rezolva(a-1);
break;
}
break;
case 5:
u+=5;
rezolva(a-1);
break;
case 6:
u+=6;
rezolva(a-1);
break;
case 7:
switch(a%4)
{
case 1:
u+=7;
rezolva(a-1);
break;
case 2:
u+=9;
rezolva(a-1);
break;
case 3:
u+=3;
rezolva(a-1);
break;
default:
u+=1;
rezolva(a-1);
break;
}
break;
case 8:
switch(a%4)
{
case 1:
u+=8;
rezolva(a-1);
break;
case 2:
u+=4;
rezolva(a-1);
break;
case 3:
u+=2;
rezolva(a-1);
break;
default:
u+=6;
rezolva(a-1);
break;
}
break;
case 9:
switch(a%2)
{
case 1:
u+=9;
rezolva(a-1);
break;
default:
u+=1;
rezolva(a-1);
break;
}
break;
default:
rezolva(a-1);
break;
}
return;
}
int main()
{
int n, a;
ifstream in("cifra.in");
ofstream out("cifra.out");
in>>n;
for(int i=0; i<n; i++)
{
in>>a;
rezolva(a);
out<<u%10<<endl;
u=0;
}
return 0;
}