nyoj473 A^B Problem (高速幂)

Posted yxysuanfa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nyoj473 A^B Problem (高速幂)相关的知识,希望对你有一定的参考价值。

A^B Problem

时间限制:1000 ms  |  内存限制:65535 KB
难度:2
描写叙述
Give you two numbers a and b,how to know the a^b‘s the last digit number.It looks so easy,but everybody is too lazy to slove this problem,so they remit to you who is wise.
输入
There are mutiple test cases. Each test cases consists of two numbers a and b(0<=a,b<2^30)
输出
For each test case, you should output the a^b‘s last digit number.
例子输入
7 66
8 800
例子输出
9
6
提示
There is no such case in which a = 0 && b = 0。
来源
hdu
上传者
ACM_丁国强

 
#include <stdio.h>
int main()
{
	int a,b,_a,s;
	while(scanf("%d %d",&a,&b)!=EOF)
	{
		if(a==0&&b==0)
		break;
		s=1;
		while(b)
		{
			if(s>=10)
			s=s%10;
			if(a>=10)
			a=a%10;
			if(b%2==1)
			s=s*a;
			a=a*a;
			b=b/2;	
		}
		if(s>=10)
		s=s%10;
		printf("%d\n",s);
	}
	return 0;
}                

以上是关于nyoj473 A^B Problem (高速幂)的主要内容,如果未能解决你的问题,请参考以下文章

LightOJ 1070 Algebraic Problem (推导+矩阵高速幂)

nyoj 1235 A/B Problem

nyoj 803-A/B Problem

nyoj A+B Problem IV

NYOJ 题目477 A+B Problem III

hdu 4549 M斐波那契数列(矩阵高速幂,高速幂降幂)