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

import java.util.Scanner;

/**
 * @DATE: 2022/12/17
 * 小明计划周一至周五每天 做 a 道题目, 周六和周日每天做 b 道题目。
 * 请你帮小明计算, 按照计划他将在 第几天实现做题数大于等于 n 题?
 * 输入:10 20 99
 * 输出:8
 */
public class Q4Main {
    /**
     * 考点:数学知识
     * 收获:如果想要拿到全部的分,必须先用数学知识化简
     */
    public static void main(String[] args) {
        right();
    }

    public static void right() {
        Scanner scan = new Scanner(System.in);
        long a = scan.nextLong();
        long b = scan.nextLong();
        long n = scan.nextLong();
        long day = 0L;
        int now = 1;
        while (n > 0) {
            if (n > (5 * a + 2 * b)) {
                /**
                 * 核心优化部分,这三句代码节省大量时间
                 */
                long l = n / (5 * a + 2 * b);
                n -= (5 * a + 2 * b) * l;
                day += 7 * l;
            } else {
                switch (now) {
               

你可能感兴趣的:(蓝桥杯杯赛,蓝桥杯,java,算法)