给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。
Input
一个数N(1 <= N <= 10^9)
Output
输出N^N的末位数字
Input示例
13
Output示例
3
把各种情况先列出来
#include <iostream>
using namespace std;
int a[5]{2, 4, 8, 6};
int b[5]{3, 9, 7, 1};
int c[5]{7, 9, 3, 1};
int d[5]{8, 4, 2, 6};
int main()
{
long long num;
int x;
cin>>num;
int dig = num % 10;
switch(dig)
{
case 0: cout<<0<<endl;break;
case 1: cout<<1<<endl;break;
case 2: x = num % 4;
if(x == 0)
cout<<a[3]<<endl;
else
cout<<a[x-1]<<endl;break;
case 3: x = num % 4;
if(x == 0)
cout<<b[3]<<endl;
else
cout<<b[x-1]<<endl;break;
case 4: x = num % 2;
if(x)cout<<4<<endl;
else cout<<6<<endl;
break;
case 5: cout<<5<<endl;break;
case 6: cout<<6<<endl;break;
case 7: x = num % 4;
if(x == 0)
cout<<c[3]<<endl;
else
cout<<c[x-1]<<endl;break;
case 8: x = num % 4;
if(x == 0)
cout<<d[3]<<endl;
else
cout<<d[x-1]<<endl;break;
case 9: x = num % 2;
if(x)cout<<9<<endl;
else cout<<1<<endl;
break;
}
return 0;
}
51nod1004 n^n的末位数字
最新推荐文章于 2022-04-20 16:31:23 发布