题目描述
小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?
输入格式
输入一行包含三个整数 a, b 和 n.
输出格式
输出一个整数代表天数。
输入输出样例
输入:
10 20 99
输出:
8
思路
为了不超时能顺利通过,我们可以把总的题数除以一个星期的刷题数,还剩下的题目用一个for循环即可计算出还需要的天数。
代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
long long a, b, n, s;
cin >> a >> b >> n;
s = 5 * a + 2 * b; //一个星期刷题总量
long long week = n / s * 7; //计算出至少需要多少个星期天数
n = n % s; //还剩下的题目数
long long d[] = { a,a,a,a,a,b,b }; //每天的刷题数
for (int i = 0; n > 0; i++) {
n -= d[i]; //上方计算出了至少需要的星期数,这里便从星期一开始计算
week++; //需要一天便加上一天,直到题目刷完
}
cout << week << endl;
return 0;
}