Pagini recente » Cod sursa (job #3156147) | Cod sursa (job #1993634) | Cod sursa (job #2225406) | Cod sursa (job #2781153) | Cod sursa (job #2914845)
#include <fstream>
#include <string>
using namespace std;
int lastDigit(string n) {
int sum = 0;
int sp[10] = {0, 1, 4, 7, 6, 5, 6, 3, 6, 9};
int si[10] = {0, 1, 6, 3, 6, 5, 6, 7, 4, 9};
int last2d[2];
if (n.size() == 2) {
last2d[0] = n[0] - '0';
last2d[1] = n[1] - '0';
} else {
last2d[0] = 0;
last2d[1] = stoi(n);
}
int lastDigit = 7 * last2d[0];
for(int i = 0; i <= last2d[1]; i++)
if (last2d[0] % 2 == 0)
lastDigit += sp[i];
else
lastDigit += si[i];
return lastDigit % 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;
int size = n.length();
int lastnds;
if (size < 2)
lastnds = 1;
else
lastnds = 2;
string lastds = n.substr(size - lastnds);
fout << lastDigit(lastds) << "\n";
}
return 0;
}