Pagini recente » Cod sursa (job #2358950) | Cod sursa (job #2346254) | Cod sursa (job #475101) | Cod sursa (job #1434116) | Cod sursa (job #1417415)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
char s[101]; int T;
int U[101]; // pe pozitia i avem memorat u(i^i)
ifstream in("cifra.in");
ofstream out("cifra.out");
int Exp_log(int x, int y) //calculam u(x^y)
{
int answer=1;
while(y)
{
if(y&1) answer=answer*x%10;
x=x*x%10;
y >>= 1;
}
return answer;
}
int main()
{
int i; int n,m,pow,SUMA,p;
for(i=1; i<100; i++) U[i]=Exp_log(i,i);
in >> T; in.get();
for(i=1; i<=T; i++)
{
in.getline(s,105);
n=s[strlen(s)-1]-'0';
if(strlen(s)-1==0) {m=n; pow=m;}
else {m=s[strlen(s)-2]-'0'; pow=m*10+n;}
//calculam u(1^1+2^2+...+pow^pow)
SUMA=0;
for(int k=1; k<=pow; k++)
{
SUMA+=U[k];
SUMA=SUMA%10;
}
out<<SUMA<<'\n';
}
return 0;
}