English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ابحث عن مجموعة فرعية متصلة مجموعها يساوي العدد المحدد -
استعرض المصفوفة.
في كل عنصر، أضف n عنصرًا واحدًا تلو الآخر، عندما يكون مجموعهم يساوي القيمة المطلوبة، اطبع المجموعات الفرعية.
import java.util.Arrays; import java.util.Scanner; public class sub_arrays { public static void main(String args[]){ //Reading the array from the user Scanner sc = new Scanner(System.in); System.out.println("Enter the size of the array that is to be created: "); int size = sc.nextInt(); int[] myArray = new int[size]; System.out.println("ادخل عناصر المجموعة: "); for(int i=0; i<size; i++){ myArray[i] = sc.nextInt(); } //قراءة الرقم System.out.println("ادخل المجموع المطلوب: "); int reqSum = sc.nextInt(); System.out.println("المجمع المكون هو: " + Arrays.toString(myArray)); System.out.println("مجموعات فرعية sum هي: " + reqSum); for(int i=0; i<myArray.length; i++){ int sum = 0; for(int j=i; j<myArray.length; j++){ sum = sum + myArray[j]; if(sum == reqSum){ System.out.println(Arrays.toString(Arrays.copyOfRange(myArray, i, j+1))); } } } } }
نتيجة الخروج
ادخل حجم المجموعة التي سيتم إنشاؤها: 10 ادخل عناصر المجموعة: 5 4 1 2 3 4 1 4 5 5 ادخل المجموع المطلوب: 10 المجمع المكون هو: [5, 4, 1, 2, 3, 4, 1, 4, 5, 5] مجموعات فرعية sum هي: 10 [5, 4, 1] [4, 1, 2, 3] [1, 2, 3, 4] [2, 3, 4, 1] [1, 4, 5] [5, 5]