Cod sursa(job #2193466)
Utilizator | Andrei Mihailescu Andrei2000 | Data | 10 aprilie 2018 11:56:29 |
---|---|---|---|
Problema | Cifra | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
ifstream fin ("cifra.in");
ofstream fout ("cifra.out");
int v[105],t;
int ultp(int x){
if(v[x]!=inf)return v[x];
int p=x,q=(x%=10);
for(int i=1;i<p;++i){
q=(q*x)%10;
}
v[x]=q;
return q;
}
int main()
{
int a,b;
memset(v,inf,sizeof v);
fin>>t;
while(t--){
fin>>a;
a%=100;
b=0;
for(int i=1;i<=a;++i)
b=(b+ultp(i))%10;
fout<<b%10<<'\n';
}
return 0;
}