提交时间:2026-01-04 15:07:23
运行 ID: 80204
#include <iostream> #include <string> using namespace std; // 快速幂取模函数:计算 (base^exp) % mod int fastPowMod(int base, int exp, int mod) { int result = 1 % mod; // 防止mod=1的情况(本题mod=7,所以其实1%7=1) base %= mod; // 先取模,缩小底数 while (exp > 0) { if (exp & 1) { // 如果指数是奇数 result = (result * base) % mod; } base = (base * base) % mod; // 底数平方 exp >>= 1; // 指数右移一位(相当于除以2) } return result; } int main() { int a, b; cin >> a >> b; // 计算 a^b % 7 int remainder = fastPowMod(a, b, 7); // 根据余数输出星期几 string weekdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; cout << weekdays[remainder] << endl; return 0; }