Mai intai trebuie sa te autentifici.
Cod sursa(job #3134974)
Utilizator | Data | 1 iunie 2023 09:44:11 | |
---|---|---|---|
Problema | Cifra | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.77 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
int u[101];
int ucif(int n)
{
int uc=n%10,r=n%4,p=1;
if(r==0) r=4;
while(r--)
p*=uc;
return p%10;
}
/**
void test()
{
int s=0;
for(int i=1;i<=100;i++)
s+=ucif(i);
cout<<s%10;
}
**/
void precalcul()
{
u[0]=0;
for(int i=1; i<100; i++)
u[i]=(u[i-1]+ucif(i))%10;
}
int main()
{
// test();
int t,ncif,rest;
char sir[101];
precalcul();
f>>t;
while(t--)
{
f>>sir;
ncif=strlen(sir);
rest=sir[ncif-1]-'0';
if(ncif>=2)
rest+=(sir[ncif-2]-'0')*10;
g<<u[rest]<<'\n';
}
f.close();
g.close();
return 0;
}