第二章:编程基础通关1 - 模拟1

4402. 刷题统计

小明决定从下周一开始努力刷题准备蓝桥杯竞赛。

他计划周一至周五每天做 a道题目,周六和周日每天做 b 道题目。

请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?

输入格式

输入一行包含三个整数 a,b, 和 n。

输出格式

输出一个整数代表天数。

数据范围

对于 50%的评测用例,1≤a,b,n≤106,
对于 100%的评测用例,1≤a,b,n≤1018。

输入样例:

10 20 99

输出样例:

8

第一次暴力,超时,数据范围也超

#include <iostream>
using namespace std;
long long a,b,n,week,day=0,s;
int main()
{
  cin>>a>>b>>n;
  while(s<=n)
  {
    day++;
    if(day>=1&&day<=5)s=s+a;
    if(day==6)s=s+b;
    if(day==7)s=s+b,day=0,week++;
  }
  cout<<week*7+day<<endl;
  return 0;
}

第二次通过了

#include <iostream>
using namespace std;
long long a,b,n,day,week,Sweek,t,m,s;
int main()
{
  cin>>a>>b>>n;
  Sweek=a*5+b*2;//一周完成的题目
  t=n/Sweek;//需要t周可完成题目
  m=n%Sweek;//凑不够一周的题目数
  while(s<m)
  {
    day++;
    if(day>=1&&day<=5)s=s+a;
    if(day==6||day==7)s=s+b;
  }
  day=day+t*7;
  cout<<day<<endl;
  return 0;
}

跑步锻炼

小蓝每天都锻炼身体。

正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。

小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。请问这段时间小蓝总共跑步多少千米?

我写的代码如下

#include <iostream>
using namespace std;
int day=6,s,y1,t;
int main()
{
  for(int n=2000;n<=2020;n++)
  {
    y1=12;
    if(n==2020)y1=10;
    for(int y=1;y<=y1;y++)
   {
       t=30;
       if((n%4==0&&n%100!=0||n%400==0)&&y==2)t=29;
       if(!(n%4==0&&n%100!=0||n%400==0)&&y==2)t=28;
       if(y==1||y==3||y==5||y==7||y==8||y==10||y==12)t=31;
       if(n==2020&&y==10)t=1;
     for(int r=1;r<=t;r++)
     {
       if(day==7)day=0;
       if(r==1||day==1||r==1&&day==1)s=s+2;
       else s+=1;
       day++;
     }
   }
  }
   cout<<s<<endl; 
  return 0;
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小胡杨酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值