Pagini recente » Cod sursa (job #2690012) | Cod sursa (job #321055) | Cod sursa (job #1145423) | Cod sursa (job #1197474) | Cod sursa (job #1196981)
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("cifra.in"); ofstream g("cifra.out");
int t,i,j,pow,lg,x,v[101];
char n[102];
int main()
{ for (i=1; i<=100; ++i)
{ pow=i;
for (j=1; j<i; ++j) pow=(pow*i)%10;
v[i]=(v[i-1]+pow)%10;
}
f>>t;
for(i=1;i<=t;++i)
{ f>>n+1;//scanf("%s",n+1);
lg=strlen(n+1);
x=(lg>1 ? (n[lg-1]-'0')*10+n[lg]-'0' : n[lg]-'0');
g<<v[x]<<'\n';//fprintf(fOut,"%d\n",v[x]);
}
g.close(); return 0;
}
/*
#include <cstdio>
#include <cstring>
using namespace std;
const int Loop = 100; // valoarea ultimei cifre a expresiei se repeta din 100 in 100, deci sunt necesare doar ultimele 2 cifre ale lui N
const int LgMax = 102;
void Init(int*);
int main()
{
freopen("cifra.in","r",stdin);
FILE* fOut = fopen("cifra.out","w");
int v[Loop+1];
Init(v);
char n[LgMax];
int T, lg, x, i=1;
for (scanf("%d",&T); i<=T; ++i) {
scanf("%s",n+1);
lg=strlen(n+1);
x=(lg>1 ? (n[lg-1]-'0')*10+n[lg]-'0' : n[lg]-'0');
fprintf(fOut,"%d\n",v[x]);
}
return 0;
}
void Init(int v[])
{
v[0]=0;
int i, j, pow;
for (i=1; i<=100; ++i) {
pow=i;
for (j=1; j<i; ++j) pow=(pow*i)%10;
v[i]=(v[i-1]+pow)%10;
}
}
*/