Pagini recente » Cod sursa (job #3189501) | Borderou de evaluare (job #1761844) | Borderou de evaluare (job #2053406) | Cod sursa (job #523493) | Cod sursa (job #1126641)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int ucif(int b, int p)
{
switch(b)
{
case 0: return 0;
case 1: return 1;
case 2:
{
switch(p)
{
case 0: return 6;
case 1: return 2;
case 2: return 4;
case 3: return 8;
}
}
case 3:
{
switch(p)
{
case 0: return 1;
case 1: return 3;
case 2: return 9;
case 3: return 7;
}
}
case 4:
{
switch(p)
{
case 0: return 6;
case 1: return 4;
}
}
case 5: return 5;
case 6: return 6;
case 7:
{
switch(p)
{
case 0: return 1;
case 1: return 7;
case 2: return 9;
case 3: return 3;
}
}
case 8:
{
switch(p)
{
case 0: return 6;
case 1: return 8;
case 2: return 4;
case 3: return 2;
}
}
case 9:
{
switch(p)
{
case 0: return 1;
case 1: return 9;
}
}
}
return -1;
}
int detrepeat(int b)
{
switch(b)
{
case 0: return 1;
case 1: return 1;
case 2: return 4;
case 3: return 4;
case 4: return 2;
case 5: return 1;
case 6: return 1;
case 7: return 4;
case 8: return 4;
case 9: return 2;
}
return -1;
}
int main()
{
int T, a, S = 0;
fin >> T;
for(int i = 1; i <= T; i++)
{
fin >> a;
for(int i = 1; i <= a; i++)
{
//cout << i << " ^ " << i % detrepeat(i) << " = " << ucif(i,i % detrepeat(i)) << "\n";
S = S + ucif(i,i % detrepeat(i));
}
fout << S % 10<< "\n";
S = 0;
}
return 0;
}