This is a java program to generate and print all the pair of subsets whose union makes the original set.
Here is the source code of the Java Program to Generate All Pairs of Subsets Whose Union Make the Set. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to generate all pair of subsets whose union results the original set import java.util.Random; import java.util.Scanner; public class Pair_Subset_Union_Set { public static int[] binary(int N) { int[] binary = new int[(int) Math.pow(2, N)]; for (int i = 0; i < Math.pow(2, N); i++) { int b = 1; binary[i] = 0; int num = i; while (num > 0) { binary[i] += (num % 2) * b; num /= 2; b = b * 10; } } return binary; } public static void main(String args[]) { Random random = new Random(); Scanner sc = new Scanner(System.in); System.out.println("Enter the number of elements in the set: "); int N = sc.nextInt(); int[] sequence = new int[N]; for (int i = 0; i < N; i++) sequence[i] = Math.abs(random.nextInt(100)); System.out.println("The elements in the set : "); for (int i = 0; i < N; i++) System.out.print(sequence[i] + " "); int[] mask = new int[(int) Math.pow(2, N)]; mask = binary(N); System.out .println("\nThe pair of permutations whose union is original set are: "); for (int i = 0; i < (Math.pow(2, N) / 2); i++) { System.out.print("{ "); for (int j = 0; j < N; j++) { if (mask[i] % 10 == 1) System.out.print(sequence[j] + " "); mask[i] /= 10; } System.out.print("} and "); System.out.print("{ "); for (int j = 0; j < N; j++) { if (mask[(int) Math.pow(2, N) - 1 - i] % 10 == 1) System.out.print(sequence[j] + " "); mask[(int) Math.pow(2, N) - 1 - i] /= 10; } System.out.println("}"); } sc.close(); } }
Output:
$ javac Pair_Subset_Union_Set.java $ java Pair_Subset_Union_Set Enter the number of elements in the set: 5 The elements in the set : 3 47 97 79 8 The pair of permutations whose union is original set are: { } and { 3 47 97 79 8 } { 3 } and { 47 97 79 8 } { 47 } and { 3 97 79 8 } { 3 47 } and { 97 79 8 } { 97 } and { 3 47 79 8 } { 3 97 } and { 47 79 8 } { 47 97 } and { 3 79 8 } { 3 47 97 } and { 79 8 } { 79 } and { 3 47 97 8 } { 3 79 } and { 47 97 8 } { 47 79 } and { 3 97 8 } { 3 47 79 } and { 97 8 } { 97 79 } and { 3 47 8 } { 3 97 79 } and { 47 8 } { 47 97 79 } and { 3 8 } { 3 47 97 79 } and { 8 } Enter the number of elements in the set: 3 The elements in the set : 37 76 87 The pair of permutations whose union is original set are: { } and { 37 76 87 } { 37 } and { 76 87 } { 76 } and { 37 87 } { 37 76 } and { 87 }
Related posts:
Spring RestTemplate Request/Response Logging
StringBuilder vs StringBuffer in Java
How to Define a Spring Boot Filter?
Hướng dẫn Java Design Pattern – Template Method
Java Program to Implement Quick Sort with Given Complexity Constraint
Spring Boot - Web Socket
The Registration Process With Spring Security
HttpClient Timeout
Convert Hex to ASCII in Java
Getting Started with Forms in Spring MVC
Spring Webflux and CORS
Java Program to Generate Random Partition out of a Given Set of Numbers or Characters
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Java Program to Implement Segment Tree
Mapping a Dynamic JSON Object with Jackson
Java Program to Implement Hamiltonian Cycle Algorithm
Java Program to Perform Naive String Matching
Java – Generate Random String
Spring Boot - Zuul Proxy Server and Routing
A Guide to Java HashMap
Java Program to Implement Radix Sort
Guide to BufferedReader
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Returning Image/Media Data with Spring MVC
Java Program to Implement Strassen Algorithm
Thao tác với tập tin và thư mục trong Java
Extract links from an HTML page
Spring Cloud – Securing Services
How to Find an Element in a List with Java
Using Spring @ResponseStatus to Set HTTP Status Code
Java Program to Implement PriorityBlockingQueue API
What is a POJO Class?