一、题目描述:
小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天 做 a 道题目, 周六和周日每天做 b 道题目。请你帮小明计算, 按照计划他将在 第几天实现做题数大于等于 n 题?
输入格式:
输入一行包含整数a,b和n.
输出格式
输出一个整数代表天数
样例输入
10 20 99
样例输出
8
运行限制
最大运行时间:1s
最大运行内存: 256M
二、解题思路:
由于n的数据范围很大,直接写while循环会超时,所以得
先计算一下需要几周,在单独计算还需要几天数
。
三、代码实现:
#include <iostream>
using namespace std;
typedef long long ll;
int main()
{
// 请在此输入您的代码
ll a,b,n,day = 0,sum;
cin >> a >> b >> n;
int tem = 5*a + 2*b;
//至少需要的周数
ll week = n/tem;
//剩余的题
ll last = n % tem;
while(sum < last){
day++;
if(day % 7 != 0 && day % 8 != 0 )
sum += a;
else
sum += b;
}
cout << week *7 + day;
return 0;
}