小白的追求
Problem Description
小白和小黑的小船翻了以后,小白就去追妹子去啦。但是问题随之而来,小白共有10个目标,编号0-9,但是小白只能追求一个,所以小白就去找小金请教如何解决,小金什么都没有说,用手指了一下小白,小白瞬间恍然大悟,“你是让我顺从本心吗??”,小金说:“我让你哪来的滚哪去,正在写代码,没时间搭理你”。。。。。。,但是问题总要解决,小白决定听天由命,所以小白在小金的模板上偷抄了一个公式为:(n^n)%10,结果是多少就去追求谁
Input
多组输入,每组输入一个整数n(n<=10^9)
Output
输出小白要追求的妹子的编号。
Sample Input
1
2
3
4
Sample Output
1
4
7
6
Source
“师创杯”山东理工大学第八届ACM程序设计竞赛
思路,用一般的方法计算a的n次方会超时。应该用快速幂来做。
如果你没听说过快速幂,那么。。。还不赶紧去学。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll qpow( ll a, ll n )
{
ll re = 1;
while ( n ) {
if ( n&1 ) {
re = re*a%10;
}
n >>= 1;
a = (a*a)%10;
}
return re%10;
}
int main()
{
ll n;
while ( cin>>n ) {
cout << qpow(n,n) << endl;
}
return 0;
}
/***************************************************
User name: rj180323石旭
Result: Accepted
Take time: 12ms
Take Memory: 148KB
Submit time: 2019-05-20 19:49:43
****************************************************/