解题思路:
这道题本质上还是很简单的,对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 人评分
十->二进制转换 (C++代码)(零和负数需要特殊处理)浏览:1040 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:778 |
C二级辅导-计负均正 (C语言代码)浏览:581 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)scanf后面加个getchar(),收掉回车符,就可以用gets了浏览:1149 |
母牛的故事 (C语言代码)浏览:1300 |
2^k进制数 (C++代码)使用递归方法浏览:722 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:946 |
简单的a+b (C语言代码)浏览:760 |
C语言训练-字符串正反连接 (C语言代码)浏览:622 |
【绝对值排序】 (C++代码)浏览:672 |