Pagini recente » Cod sursa (job #2990675) | Cod sursa (job #122868) | Cod sursa (job #1551370) | veryeasy | Cod sursa (job #2393818)
#include <fstream>
#include <string>
using namespace std;
ifstream fin( "cifra.in" );
ofstream fout( "cifra.out" );
int T;
string S;
int LastDigit( int nr, int poww )
{
nr = nr % 10;
poww = poww % 4;
if( nr == 1 ) return 1;
if( nr == 2 )
{
if( poww == 1 ) return 2;
if( poww == 2 ) return 4;
if( poww == 3 ) return 8;
if( poww == 0 ) return 6;
}
if( nr == 3 )
{
if( poww == 1 ) return 3;
if( poww == 2 ) return 9;
if( poww == 3 ) return 7;
if( poww == 0 ) return 1;
}
if( nr == 4 )
{
if( poww == 1 ) return 4;
if( poww == 2 ) return 6;
if( poww == 3 ) return 4;
if( poww == 0 ) return 6;
}
if( nr == 5 ) return 5;
if( nr == 6 ) return 6;
if( nr == 7 )
{
if( poww == 1 ) return 7;
if( poww == 2 ) return 9;
if( poww == 3 ) return 3;
if( poww == 0 ) return 1;
}
if( nr == 8 )
{
if( poww == 1 ) return 8;
if( poww == 2 ) return 4;
if( poww == 3 ) return 2;
if( poww == 0 ) return 6;
}
if( nr == 9 )
{
if( poww == 1 ) return 9;
if( poww == 2 ) return 1;
if( poww == 3 ) return 9;
if( poww == 0 ) return 1;
}
}
int main()
{
fin >> T;
int NR;
for( int i = 1; i <= T; ++i )
//for( NR = 1; NR <= 200; ++NR )
{
// fin >> NR;
fin >> S;
if( S.size() == 1 ) NR = S[0] - '0';
else NR = ( S[S.size() - 2] - '0' ) * 10 + S[ S.size() - 1 ] - '0';
int ans = 0;
for( int j = 1; j <= NR; ++j )
{
ans = ( ans + LastDigit( j, j ) ) % 10;
}
fout << ans << '\n';
//if( NR % 10 == 0 ) fout << '\n';
}
return 0;
}