most right digit ,大数运算

#include<iostream>
using namespace std;
int main()
{
int m;
cin>>m;
for(int j=0;j<m;j++)
{
int num,n,digit=1;
cin>>n;
if(n%10==0)digit=0;
else if(n%10==1)digit=1;
else if(n%10==2)
{
num=n%4;
if(num==0)digit=6;
for(int i=0;i<num;i++)
{
digit=(digit*(n%100))%10;
}
}
else if(n%10==3)
{
num=n%4;
if(num==0)digit=1;
for(int i=0;i<num;i++)
{
digit=(digit*(n%100))%10;
}
}
else if(n%10==4)
{
num=n%2;
if(num==0)digit=6;
for(int i=0;i<num;i++)
{
digit=(digit*(n%100))%10;
}
}
else if(n%10==5)digit=5;
else if(n%10==6)digit=6;
else if(n%10==7)
{
num=n%4;
if(num==0)digit=1;
for(int i=0;i<num;i++)
{
digit=(digit*(n%100))%10;
}
}
else if(n%10==8)
{
num=n%4; 
if(num==0)digit=6;
for(int i=0;i<num;i++)
{
digit=(digit*(n%100))%10;
}
}
else if(n%10==9)
{
num=n%2;
if(num==0)digit=1;
for(int i=0;i<num;i++)
{
digit=(digit*(n%100))%10;
}
}
cout<<digit<<endl;
}
return 0;
}

你可能感兴趣的:(right,most,digit)