第一题:
小明装修需要n(1<=n<=200)颗钉子,但是五金店没有散装钉子卖,只有两种盒装包装的,一种包装4颗,一种包装有9颗,请问小明最少需要买多少盒钉子才能刚好买够n颗?
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int max = n / 9;
for (int i = max; i >= 0; i--) {
int left = n - i * 9;
if (left % 4 == 0) {
System.out.println(i + left / 4);
return;
}
}
System.out.println(-1);
}
}
第二题:
现给出一组单词和行约束参数L,需要对文本进行处理,需求如下:
- 规整后输出的每行所包含的字符个数应等于L
- 每行文本包含尽可能多的单词,单词之间或行尾不足部分都以“*”填充
- 如果一行有两个或两个以上的单词,则要求第一个单词和最后一个单词分别与左右边界对齐
- 一行内单词间的“”尽可能均匀分布。如果无法均匀分布,则左边可多于右边1个“”
- 最后一行的单词之间仅需一个“*”
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String[] s = in.nextLine().split(",");
int l = in.nextInt();
int n = s.length;
for (int i = 0; i < n; i++) {
int cur = s