杭电acm1061

http://acm.hdu.edu.cn/showproblem.php?pid=1061

看最后一位数字的次方
1的所有次方都是1
0的所有次方都是0
5的所有次方都是5
6的所有次方都是6
2(四个一循环)
3(四个一循环)
7(四个一循环)
8(四
View Code
 1 #include<stdio.h>
 2 int print(int n)
 3 {
 4  int i,n0=n%10,j,ans;
 5  if(n0==0||n0==1||n0==5||n0==6)//直接输出 
 6     return n0;
 7  if(n0==2||n0==3||n0==7||n0==8)
 8    {
 9     ans=1;
10     i=n%4+4;
11     for(j=0;j<i;j++)//这边没等号 …… 
12     {
13       ans=ans*n0;
14       ans%=10;
15     }
16     return ans;
17    }
18  if(n0==4||n0==9)
19    {
20     ans=n0;
21     i=n%2+2;
22     for(j=0;j<=i;j++)//这边有等号 …… 
23       {
24       ans=ans*n0;
25       ans%=10;
26       }
27     return ans;
28    }
29 }
30 int main()
31 {
32  int t,n;
33  scanf("%d",&t);
34  while(t--)
35   {
36    scanf("%d",&n);
37    printf("%d\n",print(n));
38   }
39  return 0;
40 }
 1 #include<stdio.h>
 2 int print(int n)
 3 {
 4  int i,n0=n%10,j,ans;
 5  if(n0==0||n0==1||n0==5||n0==6)//直接输出 
 6     return n0;
 7  if(n0==2||n0==3||n0==7||n0==8)
 8    {
 9     ans=1;
10     i=n%4+4;
11     for(j=0;j<i;j++)//这边没等号 …… 
12     {
13       ans=ans*n0;
14       ans%=10;
15     }
16     return ans;
17    }
18  if(n0==4||n0==9)
19    {
20     ans=n0;
21     i=n%2+2;
22     for(j=0;j<=i;j++)//这边有等号 …… 
23       {
24       ans=ans*n0;
25       ans%=10;
26       }
27     return ans;
28    }
29 }
30 int main()
31 {
32  int t,n;
33  scanf("%d",&t);
34  while(t--)
35   {
36    scanf("%d",&n);
37    printf("%d\n",print(n));
38   }
39  return 0;
40 }
个一循环)
4^1=4 4^2=6(两个一循环)
9^1=9 9^2=1(两个一循环)
还有一些不理解

原文地址:https://www.cnblogs.com/huzhenbo113/p/2989569.html