蓝桥杯-刷题统计

news/2024/11/28 19:33:53/

蓝桥杯-刷题统计

    • 1、问题描述
    • 2、解题思路
    • 3、代码实现
      • 3.1 方案一:累加方法(超时)
      • 3.2 方案二

1、问题描述

  小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目, 周六和周日每天做 b 道题目。请你帮小明计算, 按照计划他将在 第几天实现做题数大于等于 n 题?

输入格式

  输入一行包含三个整数 a,bn.

输出格式

  输出一个整数代表天数。

样例输入

10 20 99

样例输出

8

评测用例规模与约定

  对于 50% 的评测用例, 1≤a,b,n≤1061\le a,b,n\le 10^61a,b,n106.

  对于 100% 的评测用例, 1≤a,b,n≤10181\le a,b,n\le 10^{18}1a,b,n1018

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

2、解题思路

  第一种方案(这种会超时):周一到周五每天做a道题,周六周天每天b道题,直接累加就行,周内就+a,周末就+b,最后输出总数就行。

  经过测试,第一种只有60%的用例可以通过,后面都超时了。

  第二种方案:第一种相当于有多少天就要加多少次,太慢了。

  • 我们直接看n道题目需要做多少周,由题意知,每周可以做的题目数量为week=5a+2b,计算n道题目可以做temp=n/week周,然后计算还剩下多少道题目:sub=n%week
  • 如果sub==0,说明temp周刚好可以把所有题目做完,直接输出temp*7
  • 否则,我们计算下要做完剩余的sub道题目还剩下多少天,这个时候天数只能是1-6了,写个循环判断下就行,假设做完剩下这些题需要i天,那么输出temp*7+i

3、代码实现

3.1 方案一:累加方法(超时)

//只有60%的用例可以通过,剩下的超时了public static void count1() {Scanner scan = new Scanner(System.in);long a = scan.nextLong();   //周一至周五每天做a道题目long b = scan.nextLong();   //周六周日每天b道题目long n = scan.nextLong();int i = 1;int count = 0;while (count < n) {if (i % 7 >= 1 && i % 7 <= 5) {count += a;} else {count += b;}if (count >= n) {break;}i++;}System.out.println(i);scan.close();}

3.2 方案二

 //100%测试通过public static void main(String[] args) {Scanner scan = new Scanner(System.in);long a = scan.nextLong();   //周一至周五每天做a道题目long b = scan.nextLong();   //周六周日每天b道题目long n = scan.nextLong();//一周的刷题量long week = 5 * a + 2 * b;long temp = n / week;   //做了多少周long sub = n % week;//还剩下多少题没做if (sub == 0) { //可以被整除就直接输出System.out.println(temp * 7);} else {long count = 0;long i = 1;while (count < sub) {   //做完剩下的题需要几天if (i % 6 == 0) {   //此时最多6天,不用对7取模了count += b;} else {count += a;}if (count >= sub) {break;}i++;}System.out.println(temp * 7 + i);}scan.close();}

  运行结果如下:

image-20230226225246353

  这道题不难,就是暴力解法直接就超时了,只能通过60%,也就是说考试的时候只能拿60%的分,第二种直接满分。


http://www.ppmy.cn/news/30404.html

相关文章

Android的基础介绍

一、Android介绍 Android是一种基于Linux的自由及开放源代码的操作系统,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。 Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序——…

欢乐消除开心假日协议解密

欢乐消除开心假日协议解密协/议/流/量/解/密分析欢乐消除开心假日这款游戏流量的协议加密方式。序欢乐消除开心假日是一款合成模拟家装的游戏&#xff0c;在这个游戏中&#xff0c;你将成为一位充满热情的设计师&#xff0c;与好友一起经营工作室。你需要根据客户的需求重新设计…

Docker搭建jenkins(Vue自动化部署)

前言 需要提前准备的条件 Docker环境 一、jenkins镜像 # 查询镜像 docker search jenkins# 下载镜像 # lts稳定版 docker pull jenkins/jenkins:lts#查看镜像 docker images二、启动Jenkins容器 创建挂载文件夹&#xff0c;并且进行文件授予权限 #创建文件夹 mkdir -p /home/j…

升级 vue3 常见问题总汇

Ⅰ、前言 虽然 vue3 是没有删除 vue2 的 选项式 API &#xff0c; 但是我们升级vue3 还是需要修改很多问题的下面来看看我们升级常见的一些问题 &#x1f447; 文章目录Ⅰ、前言Ⅱ、解决兼容问题1、路由的创建方式2、路由的方法变化3、升级 vuex 到 4.x4、作用域 插槽语法修改…

面了 6 家大厂,并拿下 5 家 offer,进大厂好像也没有那么困难吧....

前言 二月份的时候因为换工作的缘故&#xff0c;陆续参加了华为、阿里巴巴、字节跳动、拼多多、百度、Paypal 的社招面试&#xff0c;除了字节跳动流程较长&#xff0c;我主动结束面试以外&#xff0c;其他的都顺利拿到了 Offer。 最近时间稍微宽裕点了&#xff0c;写个面经&…

DBeaver 超级详细的安装与使用

一、下载DBeaver DBeaver是一种通用数据库管理工具&#xff0c;适用于需要以专业方式使用数据的每个人&#xff1b;适用于开发人员&#xff0c;数据库管理员&#xff0c;分析师和所有需要使用数据库的人员的免费(DBeaver Community) 的多平台数据库工具。 DBeaver支持80多个数据…

google独立站和与企业官网的区别是什么?

google独立站和与企业官网的区别是什么&#xff1f; 答案是&#xff1a;独立站通过谷歌SEO优化可以更好的获取自然排名的流量。 随着互联网的不断发展&#xff0c;企业越来越重视自身网站的建设和优化&#xff0c;而在企业网站建设中&#xff0c;很多人会犯一个常见的错误&am…

Java工程管理系统源码 工程项目源码

数 据 库&#xff1a; MySQL 开发语言&#xff1a; Java 开发工具&#xff1a; MyEclipse 源码类型&#xff1a; WebForm 以甲方项目管理为中心&#xff0c;包括项目启动、计划、执行、控制与收尾阶段的全生命周期管理&#xff0c;并对范围、预…