Pagini recente » Monitorul de evaluare | Istoria paginii utilizator/androca | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #3359480)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int U[100];
ifstream f("cifra.in");
ofstream g("cifra.out");
int ucif(int n)
{
int uc=n%10, r=n%4, p=1;
if(r==0) r=4;
while(r--)
p*=uc;
return p%10;
}
void precalcul()
{
for(int i=1;i<100;i++)
U[i]=(U[i-1]+ucif(i))%10;
}
int main()
{
int T,ncif,rest;
char sir[101];
precalcul();
f>>T;
while(T--)
{
f>>sir;
ncif=strlen(sir);
rest=sir[ncif-1]-'0';
if(ncif>=2)
rest+=(sir[ncif-2]-'0')*10;
g<<U[rest]<<'\n';
}
f.close();
g.close();
return 0;
}