Pagini recente » Cod sursa (job #2422190) | Cod sursa (job #3216172) | Cod sursa (job #2930103) | Cod sursa (job #3145506) | Cod sursa (job #1823222)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int t, n, puteri[10][5];
char str[101];
int main()
{
//precalcul puterile pana la ordin 4 ale cifrelor 1..9
//dupa ordinul 4 toate se repeta
for (int cifra = 1; cifra <= 9; cifra++)
{
puteri[cifra][1] = cifra;
for (int putere = 2; putere <= 4; putere++)
puteri[cifra][putere] = (puteri[cifra][putere - 1] * cifra) % 10;
}
fin >> t;
fin.getline(str, sizeof(str));
while (t--)
{
fin.getline(str, sizeof(str));
if (strlen(str) >= 2)
n = (str[strlen(str)-2]-'0') * 10 + str[strlen(str)-1]-'0';
else
n = str[strlen(str)-1]-'0';
int res = 0;
for (int i = 1; i <= n; i++)
{
int pow = i % 4;
if (pow == 0)
pow = 4;
res = (res + puteri[i%10][pow])%10;
}
fout << res << "\n";
}
return 0;
}