1. 程式人生 > >T^T(1)問題(2018.11.25)

T^T(1)問題(2018.11.25)

這真的是我被顏表情皮的最慘的一次。。。沒有之一。。。
描述:
T^T這個很像一個流淚的表情是不是!其實,它是T的T次方啦~。
當T比較大的時候T^T會非常大,現在只要你求這個數的個位就可以啦。
輸入
輸入包括多組測試資料,每個測試資料只有一個數字T(0<T<2^31)
輸出
請輸出T^T的個位數。
樣例輸入:

1
2
3
105

樣例輸出:

1
4
7
5

分析:
a^b%10是其個位數,當a==b的時候就是這道題的情況
這道題我是找規律做的,嗯就是這樣。(因為資料估計會很大,所以還是動動腦子吧)
規律如下:當n=0,1,5,6,9時,輸出本身
當n=4時,輸出6
當n=2時,個位數按照2,4,8,6的規律來
當n=3時,個位數按照3,9,7,1的規律來
當n=7時,個位數按照7,9,3,1的規律來
當n=8時,個位數按照8,4,2,6的規律來(計算器是個好東西TvT,或者直接寫個程式吧)
其實4和9的時候應該是有兩種情況,分別是4,6和1,9(分為奇數和偶數的情況)。但是由於a=b,所以只有6和9.
程式碼如下


python

try:
    while 1:
        n=input()
        m=n[len(n)-1]
        k=int(n)
        if m=='0':
            print('0')
        if m=='1':
            print('1')
        if m=='5':
            print('5')
        if m=='6':
            print('6')
        if m=='9':
            print('9')
        if m=='2':
            l1=[2,4,8,6]
            print(l1[(k-1)%4])
        if m=='3':
            l2=[3,9,7,1]
            print(l2[(k-1)%4])
        if m=='7':
            l3=[7,9,3,1]
            print(l3[(k-1)%4])
        if m=='8':
            l4=[8,4,2,6]
            print(l4[(k-1)%4])
        if m=='4':
            print('6')
except EOFError:
    pass

c

#include<stdio.h>
int main()
{
    int n,m;
    int l1[4]={2,4,8,6};
    int l2[4]={3,9,7,1};
    int l3[4]={7,9,3,1};
    int l4[4]={8,4,2,6};
    while(scanf("%d",&n)!=EOF)
    {
        m=n%10;
        if (m==0||m==1||m==5||m==6||m==9)
            printf("%d\n",m);
        if (m==2)
            printf("%d\n",l1[(n-1)%4]);
        if (m==3)
            printf("%d\n",l2[(n-1)%4]);
        if (m==7)
            printf("%d\n",l3[(n-1)%4]);
        if (m==8)
            printf("%d\n",l4[(n-1)%4]);
        if (m==4)
            printf("6\n");
    }
    return 0;
}

暴力不解釋TvT