Pagini recente » Cod sursa (job #2196563) | Cod sursa (job #3221676)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int U[100]; // U[i]=(1^1+2^2+...i^i)
ifstream f("cifra.in");
ofstream g("cifra.out");
int ucif(int n) // ultima cifra a lui n^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;
}