解题思路:
将数组排序和三次循环
注意事项:
注意终止条件
参考代码:
import java.util.Arrays;
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();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i]=scanner.nextInt();
}
int result = -1;
Arrays.sort(nums);
for (int i = n-1; i >=0; i--) {
if(nums[i]*3-3<result)
break;
for (int j = i-1; j >=0; j--) {
if(nums[i]+nums[j]+nums[j]-1<result)
break;
for (int l = j-1; l >=0; l--) {
int temp = nums[i] + nums[j] + nums[l];
if(temp<result){
break;
}
if(temp %k==0)
{
result = temp;
}
}
}
}
System.out.println(result);
}
}
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:438 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:590 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:603 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:526 |
字符逆序 (C语言代码)浏览:636 |
The 3n + 1 problem (C语言代码)浏览:501 |
蛇行矩阵 (C语言代码)浏览:498 |
川哥的吩咐 (C语言代码)浏览:609 |
生日日数 (C语言代码)浏览:1498 |
C二级辅导-等差数列 (C语言代码)浏览:770 |