问题描述
lcy给feng5166,lwg,JGShining和Ignatius带来了一个难题:给了a和b,如何知道a ^ b。每个人都反对这个BT问题,所以lcy使问题比开始容易。
这个难题描述了:给了a和b,如何知道a ^ b的最后一位数字。但是每个人都懒得解决这个问题,所以他们将自己寄给了明智的人。
这个难题描述了:给了a和b,如何知道a ^ b的最后一位数字。但是每个人都懒得解决这个问题,所以他们将自己寄给了明智的人。
输入项
有多个测试用例。每个测试用例由两个数字a和b(0 <a,b <= 2 ^ 30)组成
输出量
对于每个测试用例,您应该输出a ^ b的最后一位数字。
样本输入
7 66 8 800
样本输出
9 6 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1097 方法:二分求幂 题解: #include<cstdio> #include<iostream> using namespace std; int main() { int power(int a, int b); int a, b; while (cin >> a >> b) { cout << power(a, b)<<endl; } return 0; } int power(int a, int b) { int ans; ans = 1; a %= 10; while (b) { if (b % 2 == 1) ans *= a; ans %= 10; b /= 2; a *= a; a %= 10; } ans%= 10; return ans; }