Cod sursa(job #2846992)
Utilizator | Data | 9 februarie 2022 22:34:33 | |
---|---|---|---|
Problema | Cifra | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
ifstream in("cifra.in");
ofstream out("cifra.out");
int T, v[10], val, s;
char nr[100];
in >> T;
in.get();
v[0] = 0;
for(int i = 1; i < 10; i++)
{
v[i] = 1;
for(int j = 0; j < i; j++)
v[i] *= i;
v[i] = v[i]%10;
v[i] = (v[i]+v[i-1])%10;
}
v[0] = v[9];
for(int i = 0; i < T; i++)
{
in.getline(nr, 101);
s = strlen(nr);
val = v[(nr[s-1]-'0')];
if(s > 1)
val += v[0]*(nr[s-2]-'0');
val = val % 10;
out << val << endl;
}
}