Java一组数组,找到2个数值相加和为20的次数
时间: 2024-05-08 17:16:52 浏览: 10
以下是一种解法,使用双重循环遍历数组并检查每个元素的和是否为20:
```java
int[] array = {5, 10, 3, 8, 7, 2, 9, 13};
int count = 0;
for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] + array[j] == 20) {
count++;
}
}
}
System.out.println("Number of pairs with sum 20: " + count);
```
输出结果:
```
Number of pairs with sum 20: 2
```
在这个例子中,数组中有两对元素的和为20:5和15,以及8和12。
相关问题
Java一组数组,找到2个数值相加和为20的值
以下是一个简单的Java程序,实现了在一组数组中找到2个数值相加和为20的值:
```
public class Main {
public static void main(String[] args) {
int[] array = {5, 10, 15, 3, 7, 8};
boolean found = false;
for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] + array[j] == 20) {
System.out.println("Found: " + array[i] + " + " + array[j] + " = 20");
found = true;
}
}
}
if (!found) {
System.out.println("No two numbers add up to 20");
}
}
}
```
该程序使用了一个嵌套的for循环,遍历数组中的每个元素,并检查是否存在另一个元素与其相加和为20。如果找到了这样的一对数,程序会输出它们的值。如果没有找到,程序会输出一条消息表示没有满足条件的数对。
判断一个数组中有几个相加为0 的片段
要判断一个数组中有几个相加为0的片段,可以使用以下算法:
1. 遍历数组中的每个元素,并用一个变量 `count` 记录相加为0的片段数,初始值为0。
2. 对于每个元素,从当前元素向后遍历数组中的元素,计算当前元素与后面所有元素的和。
3. 如果当前元素与后面元素的和为0,则将 `count` 值加1。
4. 继续遍历数组中的下一个元素,直到遍历完整个数组。
5. 返回 `count` 值,即为数组中相加为0的片段数。
下面是用 Python 代码实现上述算法的示例:
```python
def count_zero_sum_subarrays(arr):
n = len(arr)
count = 0
for i in range(n):
sum = 0
for j in range(i, n):
sum += arr[j]
if sum == 0:
count += 1
return count
```
其中,`arr` 是输入的数组,`n` 是数组的长度。函数 `count_zero_sum_subarrays` 返回数组中相加为0的片段数。