本题就是简单的模拟,有点需要注意,余数也可能爆int
思路很简单,我们可以算出一周总共的刷题量week
,如果n
能整除week
,就说明经过$(n / week) * 7$天刚好刷完。
不能整除的情况
代码:
#include <iostream>
using namespace std;
using ll = long long;
int main(){
ios::sync_with_stdio(false);
ll a, b, n;
cin >> a >> b >> n;
ll week = a * 5 + b * 2; // 一周刷题量
ll res = (n / week) * 7;
if(n % week != 0){
ll x = n % week; // 这里会爆int
if(x <= 5 * a) res += x % a ? x / a + 1 : x / a;
else res += (x - 5 * a) % b ? (x - 5 * a) / b + 6 : (x - 5 * a) / b + 5;
}
cout << res;
return 0;
}
如果不喜欢取模也可以用向上取整ceil