| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 80204 | sh25_huangse | 计算星期几 | C++ | 通过 | 0 MS | 252 KB | 921 | 2026-01-04 15:07:23 |
#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; }