此题为CHATGPT4.0解答
2023-12-30 21:19:56
发布于:浙江
22阅读
0回复
0点赞
#include <iostream>
#include <cmath>
using namespace std;
int calculateDay(int a, int b) {
// 因为b的范围是0到18,a的b次方可能超出int的表示范围
// 但是我们只关心除以7的余数,所以可以使用快速幂算法来计算
long long result = 1;
long long base = a % 7; // 只关心除以7的余数
while (b > 0) {
if (b % 2 == 1) {
result = (result * base) % 7;
}
base = (base * base) % 7;
b /= 2;
}
return result;
}
int main() {
int a, b;
cin >> a >> b;
int dayAfter = calculateDay(a, b);
// 因为星期日是0,所以要将结果转换为题目要求的星期数
// 星期六为6,星期天为7
cout << (dayAfter == 0 ? 7 : dayAfter) << endl;
return 0;
}
https://www.gnomic.cn/agentChat/index?ax(CHATGPT4.0)
这里空空如也
有帮助,赞一个