Pagini recente » Cod sursa (job #1769177) | Cod sursa (job #3203146) | Cod sursa (job #1410706) | Cod sursa (job #2733773) | Cod sursa (job #2351594)
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
string n;
int last[10][2];
void init()
{
last[1][0] = 1; last[1][1] = 1;
last[2][0] = 4; last[2][1] = 6;
last[3][0] = 7; last[3][1] = 3;
last[4][0] = 6; last[4][1] = 6;
last[5][0] = 5; last[5][1] = 5;
last[6][0] = 6; last[6][1] = 6;
last[7][0] = 3; last[7][1] = 7;
last[8][0] = 6; last[8][1] = 4;
last[9][0] = 9; last[9][1] = 9;
}
int howMany(int i, int z)
{
int nval = 1;
if(n.length() <= 3)
nval = stoi(n);
else
nval = int(n[n.length() - 3] - '0') * 100 + int(n[n.length() - 2] - '0') * 10+ int(n[n.length() - 1] - '0');
return (nval - 10 * z - i) / 20 + (i + 10 * z <= nval);
}
void solve()
{
int result = 0;
for(int i = 1; i <= 9; ++i)
{
result += howMany(i, 0) * last[i][0] + howMany(i, 1) * last[i][1];
result %= 10;
}
cout << result << '\n';
}
int main()
{
freopen("cifra.in", "r", stdin);
freopen("cifra.out", "w", stdout);
int t;
cin >> t;
init();
for(int i = 0; i < t; ++i)
{
cin >> n;
solve();
}
return 0;
}