题目描述
小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?
输入格式
输入一行包含三个整数 a, b 和 n.
输出格式
输出一个整数代表天数。
样例输入
10 20 99
样例输出
8
思路:模拟题,若一天一天的加会超时。所以可以先计算有几个星期,然后余下的肯定少于一个星期,然后再一天一天的加就不会超时了。
超时代码:
import java.util.Scanner;
public class Main {public static void main(String[] args) {new Main().solve();}void solve() {Scanner sc = new Scanner(System.in);long a = sc.nextLong();long b =sc.nextLong();long n = sc.nextLong();long i=0;long sum=0;while(sumi++;if(i%7<=5&&i%7>=1){sum+=a;}else{sum+=b;}//System.out.println(i+" "+sum+" ");}System.out.println(i);sc.close();}
}
AC代码:
import java.util.Scanner;
public class Main {public static void main(String[] args) {new Main().solve();}void solve() {Scanner sc = new Scanner(System.in);long a = sc.nextLong();long b =sc.nextLong();long n = sc.nextLong();long i=0;long sum=0;long res = n/(a*5+b*2)*7;long temp = n%(a*5+b*2);while(sumi++;if(i%7>=1&&i%7<=5){sum+=a;}else{sum+=b;}}System.out.print(res+i);sc.close();}
}
上一篇:一些编程的基础
下一篇:Paket在Linux下使用