Cod sursa(job #2541751)
| Utilizator | Data | 8 februarie 2020 20:38:31 | |
|---|---|---|---|
| Problema | Cifra | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int n,len,t,i,sol;
char s[110];
int ucif(int n) { //returneaza ultima cifra a lui n^n
long long u=0,p=1LL,k=n;
k=k%4;
if (k==0)
k=4;
for (int i=1;i<=k;i++)
p*=n;
return p%10;
}
int main() {
fin>>t;
while (t--) {
fin>>(s+1);
len=strlen(s+1);
if (len>1)
n=(s[len-1]-'0')*10+s[len]-'0'; //ultimele 2 cifre
else
n=s[len]-'0';
sol=0;
for (i=1;i<=n;i++)
sol+=ucif(i);
fout<<sol%10<<"\n";
}
return 0;
}
