English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Come trovare tutte le coppie di elementi in un array Java che sommano a un numero dato?

Cerca tutte le coppie di elementi in un array Java che sommano al numero dato-

  • Aggiungi ogni elemento dell'array a tutti gli altri elementi (escluso se stesso).

  • Verifica se la somma è uguale al numero richiesto.

  • Se è true, stampa l'indice.

Esempio

import java.util.Arrays;
import java.util.Scanner;
public class sample {
   public static void main(String args[]){
      //Lettura dell'array dall'utente
      Scanner sc = new Scanner(System.in);
      System.out.println("Inserisci la dimensione dell'array da creare:");
      int size = sc.nextInt();
      int[] myArray = new int[size];
      System.out.println("Inserisci gli elementi dell'array:");
      for(int i=0; i<size; i++){
         myArray[i] = sc.nextInt();
      }
      //Leggi il numero
      System.out.println("Inserisci il numero:");
      int num = sc.nextInt();
      System.out.println("L'array creato è: "+Arrays.toString(myArray));
      System.out.println("indici degli elementi la cui somma è: "+num);
      for(int i=0; i<myArray.length; i++){
         for(int j=i; j<myArray.length; j++){
            if((myArray[i]+myArray[j])== num && i!=j){
               System.out.println(i+", "+j);
            }
         }
      }
   }
}

Risultato di output

Inserisci la dimensione dell'array da creare:
8
Inserisci gli elementi dell'array:
15
12
4
16
9
8
24
0
Inserisci il numero:
24
L'array creato è: [15, 12, 4, 16, 9, 8, 24, 0]
indici degli elementi la cui somma è: 24
0, 4
3, 5
6, 7