题目链接
题目描述:给定一天是一周中的哪天,请问 n 天后是一周中的哪天?输入第一行包含一个整数 w,表示给定的天是一周中的哪天,w 为 1 到 6 分别表示周一到周六,w 为 7 表示周日。第二行包含一个整数 n。输出一行包含一个整数,表示 n 天后是一周中的哪天,1 到 6 分别表示周一到周六,7 表示周日。对于所有评测用例,1 <= n <= 1000000。
一些话
切入点
给定一天是一周中的哪天,请问 n 天后是一周中的哪天?
一周分为周一到周日,过了周日就到下一周,同进位问题
流程
进位问题
x进制是由0到x-1组成一个数位,过了x-1就进位
一周里只有周一到周日,没有周零,那最小的周一就要看作是0,这样周日就变成了6,到7进位,变为7进制问题
输入初始数字,数字自减,加上另一个数字后%7再加回之前减掉的1就是答案
套路
几进制就要对数字操作几来求数位
没有0的数字表示要变成有0的
ac代码
#include <iostream> #include <cstring> #include <algorithm> using namespace std; int main() { int w, n; cin >> w >> n; if ((w + n) % 7 == 0) cout << '7' << endl; else cout << (w + n) % 7 << endl; return 0;