Self Expression Magazine

Last Digit

Posted on the 09 August 2012 by Anicksaha

LAST DIGIT (SPOJ)
PROBLEM CODE(LASTDIG)

Nestor was doing the work of his math class about three days but he is tired of make operations a lot and he should deliver his task tomorrow. His math’s teacher gives two numbers a and b. The problem consist in find the last digit of the potency of base a and index b. Help Nestor with his problem. You are given two integer numbers: the base a (0 <= a <= 20) and the index b (0 <= b <= 2,147,483,000). You have to find the last digit of a^b.

Input

The first line of input contains an integer t, the number of test cases (t <= 30). t test cases follow. For each test case will appear a and b separated by space.

Output

For each test case output an integer per line representing the result.

Example

Input:

2

3     10

6     2

Output:

9

6

Solution:

#include<stdio.h>
int main()
  {
   int t,a,b,j=10,i=0;
   scanf("%d",&t);
       while(t--)
   {
   scanf("%d",&a);
   scanf("%d",&b);
   int ans=1;
   while(b>0)
   {
   if(b%2==1){
   ans=(ans*a)%j;}
   b=b>>1;
   a=(a*a)%j;
   }
   printf("%d\n",ans);
   }
   return 0;
}


LAST DIGIT


Back to Featured Articles on Logo Paperblog

Magazine