Pagini recente » Cod sursa (job #410804) | Cod sursa (job #1476130) | Cod sursa (job #611446) | Cod sursa (job #2422012) | Cod sursa (job #865382)
Cod sursa(job #865382)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream in("cifra.in");
ofstream out("cifra.out");
int u(int i, int p) {
if (i<10)
{if (p<=4) {int prod=1;
for(int j=1;j<=p;j++)
prod*=i;
return prod%10;//pt nr<10 si putere<4 returneaza ultima cifra a lui u^i
}
else { if (p%4==0) return u(i,4);//pt putere div cu 4 returneaza ult cif a lui i^4
else return u(i,p%4);//altfel returneaza ult cifra a lui i la puterea (restul lui p la 4)
}
}
if(i>10)
{ if (p<=4) return u(i%10,p);//daca nr>10 si puterea<4 returneaza ult cifra a ultimei cifre la puterea i
else {if (p%4) return u(i%10, p%4);//altfel returneaza ult cifra a ultimii cifre a numarului la puterea restului lui p la 4
else return u(i%10,4);}//
}
}
int main () {
int t,n;
in>>t;
for (int i=1;i<=t;i++)
{ in>>n;
int s=0;
for (int j=1;j<=n;j++)
s+=u(j,j);
out<<s%10<<endl;
}
return 0;
}