小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?
输入格式
输入一行包含三个整数 a, b 和 n.
输出格式
输出一个整数代表天数。
样例输入
复制
10 20 99
样例输出
复制
8
思路:此题不能整体用循环,若用一个整体来做数据过多时则会超时,此题应分两步走,第一步求一周做多少题,能用几个整数周做完,m=n/(a*5+b*2),第二步,用循环,对整周余下的部分用循环,对 y=n%(a*5+b*2),用循环f标记天数,总天数为m*7+f
#include<stdio.h>
int main()
{
long long int n, a,b,y,m,sum=0,f=0,f1=0,f2=0;
scanf("%lld%lld%lld",&a,&b,&n);
m=n/(a*5+b*2);
y=n%(a*5+b*2);
while(sum<y){
f++;
//加上周六周天的题量
if(f1==5){
sum+=b;
f2++;
if(f2==2)
{
f2=0;
}
}
// 加上周一到周五的某些天题量
if(f2==0){
sum+=a;
f1++;
}
}
printf("%lld",m*7+f);
return 0;
}
如有不足,请指出,欢迎讨论,谢谢!