T^T(1)問題(2018.11.25)
阿新 • • 發佈: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