Pagini recente » Cod sursa (job #310171) | Istoria paginii runda/simulare.wellspecial2 | Cod sursa (job #2456998) | Cod sursa (job #320522) | Cod sursa (job #758454)
Cod sursa(job #758454)
#include<fstream>
#include<string>
using namespace std;
string snr;
int nr,v[20];
int valoare (string s)
{
if (s.length()==1)
return s[s.length()-1]-'0';
return (s[s.length()-2]-'0')*10+s[s.length()-1]-'0';
}
int putere(int n)
{
int a = 1;
for (int i=1; i<=n; i++)
{
a=(a*n)%10;
}
return a;
}
void calcul()
{
for(int i=1 ; i<20 ; i++)
v[i] = putere(i);
for(int i=1 ; i<20 ; i++)
v[i] = (v[i-1] + v[i])%10;
}
int main ()
{
ifstream f("cifra.in");
ofstream g("cifra.out");
int t,nr,n;
calcul();
/*
for(int i=1 ; i<20 ; i++)
g << v[i] << " ";
g << "\n";
*/
f>>t;
while (t--){
f>>snr;
//g << "snr = " << snr << "\n";
nr=valoare(snr);
//g << "nr = " << nr << "\n";
n = nr/20*4;
n += v[nr%20];
g<<n%10<<"\n";
}
}