您的位置:首页 > 其它

杭电1061

2016-04-13 20:16 232 查看
[align=left]Problem Description[/align]
Given a positive integer N, you should output the most right digit of N^N.

[align=left]Input[/align]
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.

Each test case contains a single positive integer N(1<=N<=1,000,000,000).

[align=left]Output[/align]
For each test case, you should output the rightmost digit of N^N.

[align=left]Sample Input[/align]

2
3
4


[align=left]Sample Output[/align]

7
6

Hint
In the first case, 3 * 3 * 3 = 27, so the rightmost digit is 7.
In the second case, 4 * 4 * 4 * 4 = 256, so the rightmost digit is 6.#include<stdio.h>
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
long long x;
int a,b,c,d,e;
int result;
int n;
while(cin>>n)
{
for(int i=0;i<n;i++)
{
cin>>x;
a=x%4;
b=x%10;
c=(b*x)%10;
d=(c*x)%10;
e=(d*x)%10;
switch(a)
{
case 0:
cout<<e<<endl;break;
case 1:
cout<<b<<endl;break;
case 2:
cout<<c<<endl;break;
case 3:
cout<<d<<endl;break;
}

}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: