java算法请输入一个数组(1,2,3,5,7,11,13,17,19,23,29,31)12个元
答案:4 悬赏:0 手机版
解决时间 2021-01-13 01:40
- 提问者网友:泪痣哥哥
- 2021-01-12 11:44
java算法请输入一个数组(1,2,3,5,7,11,13,17,19,23,29,31)12个元
最佳答案
- 五星知识达人网友:大漠
- 2021-01-12 13:04
@Test
public void name() {
int[] arr = { 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 };
int sum = 0;
int count = 0;
//循环变量这样设置就不要考虑重复问题了。
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
for (int k = j + 1; k < arr.length; k++) {
for (int m = k + 1; m < arr.length; m++) {
sum = arr[i] + arr[j] + arr[k] + arr[m];
if (40 <= sum && sum <= 47) {
count++;
System.out.println(arr[i] + "," + arr[j] + ","
+ arr[k] + "," + arr[m] + "=" + sum);
} else if (sum > 47) {
//如果值大于47就不用循环了,后面的值一定大于47,所以就跳到外层循环
break;
}
}
}
}
}
System.out.println(count);
}
public void name() {
int[] arr = { 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 };
int sum = 0;
int count = 0;
//循环变量这样设置就不要考虑重复问题了。
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
for (int k = j + 1; k < arr.length; k++) {
for (int m = k + 1; m < arr.length; m++) {
sum = arr[i] + arr[j] + arr[k] + arr[m];
if (40 <= sum && sum <= 47) {
count++;
System.out.println(arr[i] + "," + arr[j] + ","
+ arr[k] + "," + arr[m] + "=" + sum);
} else if (sum > 47) {
//如果值大于47就不用循环了,后面的值一定大于47,所以就跳到外层循环
break;
}
}
}
}
}
System.out.println(count);
}
全部回答
- 1楼网友:舊物识亽
- 2021-01-12 16:06
怎么老是有这种问题啊!不知道不会啊!追问嘻嘻大神是我弱智家条件了追答以后不会的问题就不要问我了,我也不会~追问大神 费心了
- 2楼网友:一秋
- 2021-01-12 14:27
可以给个例子么?比如:输入什么;输出什么追问输出4个元素所有组合每个组合的和等于40至47不能有重复的组合13 17 5 112 3 11 23但是
17 13 5 11就和上面的重复了符合条件的这种组合 有多少大神 能帮忙不?追答也就是说每个数组中不能有相同的数字么比如有了{1,2,3,5}不能有{1,3,4,5}对吧追问这样可以就是1 2 3 5不能有5231这两组 组合和相等数组元素也一样大神运行后 dos里面弄不下
17 13 5 11就和上面的重复了符合条件的这种组合 有多少大神 能帮忙不?追答也就是说每个数组中不能有相同的数字么比如有了{1,2,3,5}不能有{1,3,4,5}对吧追问这样可以就是1 2 3 5不能有5231这两组 组合和相等数组元素也一样大神运行后 dos里面弄不下
- 3楼网友:不想翻身的咸鱼
- 2021-01-12 14:06
4个for循环套一起,每一次去重,最后一层算和
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯