Cod sursa(job #3135045)
Utilizator | Data | 1 iunie 2023 17:08:15 | |
---|---|---|---|
Problema | Cifra | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <fstream>
using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
int U[100];///U[i]=Uc(1^1+2^2+...+i^i)
int ucif(int n) ///ult 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;
}
int main()
{
int T,ncif,rest;
char sir[101];
for(int i=1;i<100;i++)
U[i]=(U[i-1]+ucif(i))%10;
f>>T;
f.get();
while(T--)
{
f.getline(sir,101);
ncif=f.gcount()-1;
rest=sir[ncif-1]-'0';
if (ncif>=2)
rest+=(sir[ncif-2]-'0')*10;
g<<U[rest]<<'\n';
}
return 0;
}