wordpress来建站,微软做网站的软件,北京建网站报价,wordpress教育模板蓝桥杯-刷题统计1、问题描述2、解题思路3、代码实现3.1 方案一#xff1a;累加方法(超时)3.2 方案二1、问题描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目, 周六和周日每天做 b 道题目。请你帮小明计算, 按照计划他将在 第几天实现做题数…
蓝桥杯-刷题统计1、问题描述2、解题思路3、代码实现3.1 方案一累加方法(超时)3.2 方案二1、问题描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目, 周六和周日每天做 b 道题目。请你帮小明计算, 按照计划他将在 第几天实现做题数大于等于 n 题?
输入格式 输入一行包含三个整数 a,b 和 n.
输出格式 输出一个整数代表天数。
样例输入
10 20 99样例输出
8评测用例规模与约定 对于 50% 的评测用例, 1≤a,b,n≤1061\le a,b,n\le 10^61≤a,b,n≤106. 对于 100% 的评测用例, 1≤a,b,n≤10181\le a,b,n\le 10^{18}1≤a,b,n≤1018
运行限制
最大运行时间1s最大运行内存: 256M
2、解题思路 第一种方案(这种会超时)周一到周五每天做a道题周六周天每天b道题直接累加就行周内就a周末就b最后输出总数就行。 经过测试第一种只有60%的用例可以通过后面都超时了。 第二种方案第一种相当于有多少天就要加多少次太慢了。
我们直接看n道题目需要做多少周由题意知每周可以做的题目数量为week5a2b计算n道题目可以做tempn/week周然后计算还剩下多少道题目subn%week如果sub0,说明temp周刚好可以把所有题目做完直接输出temp*7否则我们计算下要做完剩余的sub道题目还剩下多少天这个时候天数只能是1-6了写个循环判断下就行,假设做完剩下这些题需要i天那么输出temp*7i
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();}运行结果如下 这道题不难就是暴力解法直接就超时了只能通过60%,也就是说考试的时候只能拿60%的分第二种直接满分。