Pagini recente » Cod sursa (job #1000648) | Cod sursa (job #1775959) | Cod sursa (job #1454441) | Cod sursa (job #78455) | Cod sursa (job #2914851)
#include <fstream>
#include <string>
using namespace std;
int lastDigit(string n) {
int even[10] = {0, 1, 4, 7, 6, 5, 6, 3, 6, 9};
int odd[10] = {0, 1, 6, 3, 6, 5, 6, 7, 4, 9};
int size = n.size();
int last2d[2];
if (size < 2)
last2d[0] = 0;
else
last2d[0] = n[size - 2] - '0';
last2d[1] = n[size - 1] - '0';
int * p;
if (last2d[0] % 2 == 0)
p = even;
else
p = odd;
int last = 7 * last2d[0];
for (int i = 0; i <= last2d[1]; i++)
last += p[i];
return last % 10;
}
int main() {
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int t;
fin >> t;
for (int i = 0; i < t; i++) {
string n;
fin >> n;
fout << lastDigit(n) << "\n";
}
return 0;
}