Pagini recente » Cod sursa (job #3165596) | Cod sursa (job #1692162) | Cod sursa (job #2435998) | Cod sursa (job #1269408) | Cod sursa (job #1559418)
#include <fstream>
#include <iostream>
#include <cstring>
const int partialSum[] = {
0, 1, 5, 2, 8, 3, 9, 2, 8, 7, 7, 8, 4, 7, 3, 8, 4, 1, 5, 4
};
inline int cifra(int n) {
return (partialSum[n % 20] + 4 * (((((n - (n % 20)) / 10) % 5) * 3) % 5)) % 10;
}
int main() {
char const * const inputFile = "cifra.in",
* const outputFile = "cifra.out";
std::ifstream in(inputFile);
std::ofstream out(outputFile);
int x, a1 = 0, a0 = 0;
in >> x;
while (in) {
x = in.get();
if ('0' <= x && x <= '9') {
a1 = a0;
a0 = x - '0';
} else if (a0 || a1) {
out << cifra(a0 + a1 * 10) << std::endl;
a1 = 0;
a0 = 0;
}
}
return 0;
}