目录
1.裁纸刀
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝有一个裁纸刀,每次可以将一张纸沿一条直线裁成两半。
小蓝用一张纸打印出两行三列共 6 个二维码,至少使用九次裁出来,下图给出了一种裁法。
在上面的例子中,小蓝的打印机没办法打印到边缘,所以边缘至少要裁 4 次。另外,小蓝每次只能裁一张纸,不能重叠或者拼起来裁。
如果小蓝要用一张纸打印出 20 行 22 列共 440 个二维码,他至少需要裁多少次?
思路:
每两行之间需要剪一次,边缘需要剪四次,每两列之间也需要剪一次,所以需要裁4+(行数-1)+行数*(列数-1)
代码:
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int row=20;
int colum=22;
int sum=4+(row-1)+row*(colum-1);
System.out.print(sum);
scan.close();
}
}
结果:
2.刷题统计
小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天 做 a 道题目, 周六和周日每天做 b 道题目。请你帮小明计算, 按照计划他将在 第几天实现做题数大于等于 n 题?
输入格式
输入一行包含三个整数 a,b 和 n.
输出格式
输出一个整数代表天数。
样例输入
10 20 99
样例输出
8
代码:
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int a=scan.nextInt();//周一到周五的做题数
int b=scan.nextInt();//周末做题数
int n=scan.nextInt();//总计划做题数
int count=5*a+2*b;//每周能做的题数
int num=0;//剔除整的星期,剩下所需的天数
int nat=0;
int chu=n/count;//总做题数/每周做题数=需要的星期数
int yu=n%count;//总做题数%每周做题数=剩下的题数
while(num<yu){
if(nat%7==0||nat%6==6){//在周六或周日
num+=b;
}else{//在周一到周五之间
num+=a;
}
nat++;
}
System.out.print(7*chu+nat);
scan.close();
}
}
结果: