A.BCD
题意:
输入两个数,一个是数的数量N,另一个是每个箱子能够装多少书M,问需要多少个箱子。
思路:
我们只需要用书n的数量去除以容量m,然后判断一下取模有没有余数,有的话就结果就再加1即可。
代码:
点击查看代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int k = scanner.nextInt();
if(n%k==0) {
System.out.println(n/k);
}else {
System.out.println(n/k+1);
}
}
}
B.Poku's Vacation
题意:
用砖头砌台阶,给出一个砖头的总数量,然后一个砖头砌一个台阶,两个砖头砌两个台阶,依次这样下去,如果剩余的砖头砌不了就只能算到前面那一阶,问最后能够砌多少个台阶。
思路:
让i从1开始每次增加1,用总数量n减去这个i,同时阶数加一,知道n比i小的时候,退出循环。
代码:
点击查看代码
import java.util.Scanner;
public class MainB {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int T = scanner.nextInt();
while(T-->0) {
int n = scanner.nextInt();
int count = 0;
for(int i = 1;;i++) {
if(n>=i) {
n = n-i;
count++;
}else {
break;
}
}
System.out.println(count);
}
}
}
C.Elder Ning
题意:
给出n个数段,这个数段从l到r都是连续的整数,求所有数段中的公共的数有多少个。
思路:
首先判断两个数段的公共部分,判断方法就是在两个数段中找到大的l和小的r,如果l<=r就是公共部分,如果l>r就没有公共部分,只要没有公共部分就直接退出,就是0个,因为是所有数段的公共部分,这两个里面没有,后面就不会再有了。将两个数段的公共部分找出来再去和下一个数段找公共部分,知道找完,用r-l+1即可。
代码:
点击查看代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int[] l = new int[m];
int[] r = new int[m];
for(int i = 0;i < m;i++) {
l[i] = scanner.nextInt();
r[i] = scanner.nextInt();
}
if(m==1) {
System.out.println(r[0]-l[0]+1);
return;
}
int newl = l[0];
int newr = r[0];
for(int i = 1;i < m;i++) {
newl = Math.max(newl, l[i]);
newr = Math.min(newr, r[i]);
if(newl>newr) {
System.out.println(0);
return;
}
}
System.out.println(newr-newl+1);
}
}