//解題思路:求一個(gè)數(shù)最右邊的一位數(shù),即%10,
//故:N^N 的最右邊的一位數(shù)是( N^N ) % 10,根據(jù)同余定理= (N % 10)^N
//通過觀察由 1 - 9的 N 次冪容易找出相應(yīng)的規(guī)律,
#include <iostream>
#include <algorithm>
using namespace std;
#include <stdlib.h>

int main ()
{
int t;
scanf ("%d", &t);
while ( t -- )
{
int n, a;
scanf ("%d", &n);
a = n % 10;
if ( a == 0 )
printf ("%d\n", 0);
else if ( a == 1 )
printf ("%d\n", 1);
else if ( a == 5 )
printf ("%d\n", 5);
else if ( a == 6 )
printf ("%d\n", 6);
else if ( a == 2 )
{
if ( n % 4 == 0 )
printf ("%d\n", 6);
else if ( n % 4 == 1 )
printf ("%d\n", 2);
else if ( n % 4 == 2 )
printf ("%d\n", 4);
else if ( n % 4 == 3 )
printf ("%d\n", 8);
}
else if ( a == 3 )
{
if ( n % 4 == 0 )
printf ("%d\n", 1);
else if ( n % 4 == 1 )
printf ("%d\n", 3);
else if ( n % 4 == 2 )
printf ("%d\n", 9);
else if ( n % 4 == 3 )
printf ("%d\n", 7);
}
else if ( a == 4 )
{
if ( n % 2 == 0 )
printf ("%d\n", 6);
else if ( n % 2 == 1 )
printf ("%d\n", 4);
}
else if ( a == 7 )
{
if ( n % 4 == 0 )
printf ("%d\n", 1);
else if ( n % 4 == 1 )
printf ("%d\n", 7);
else if ( n % 4 == 2 )
printf ("%d\n", 9);
else if ( n % 4 == 3 )
printf ("%d\n", 3);
}
else if ( a == 8 )
{
if ( n % 4 == 0 )
printf ("%d\n", 6);
else if ( n % 4 == 1 )
printf ("%d\n", 8);
else if ( n % 4 == 2 )
printf ("%d\n", 4);
else if ( n % 4 == 3 )
printf ("%d\n", 2);
}
else if ( a == 9 )
{
if ( n % 2 == 0 )
printf ("%d\n", 1);
else if ( n % 2 == 1 )
printf ("%d\n", 9);
}
}
system ("pause");
return 0;
}

posted on 2010-09-11 22:00
雪黛依夢(mèng) 閱讀(531)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
簡單題 、
數(shù)論