华为第一题一直卡在70%,求大佬们指出我的错误
package one;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
int a = n % 9;
int b = n % 4;
int c = a % 4;
if (a != 0 && b != 0 && c != 0 || n < 4) { //肯定没有解
System.out.println(-1);
continue;
}
int min = (n / 4) + 2;//初始化
boolean flag = false;
for (int i = 0; i <= (n / 4); i++) {
for (int j = 0; j <= (n / 9); j++) {
if ((4 * i + 9 * j) == n) {
flag = true;
if ((i + j) < min) {
min = i + j;
}
}
}
}
if (flag) {
System.out.println(min);
} else {
System.out.println(-1);
}
}
}
}
#华为##笔试题目#
查看6道真题和解析