解题思路:
这道题本质上还是很简单的,对7取余就可以了,一般的for循环取b次,使用快速幂是logb次,数据规模也不是很大,都可以。
参考代码:
#include <iostream> using namespace std; int main() { int a,b,mod=7,z=1; string str[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; cin>>a>>b; for(a%=mod;b;b>>=1,a=a*a%mod){ if(b&1)z=z*a%mod; } cout<<str[z]; return 0; }
0.0分
156 人评分