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:
Java Program to Implement Unrolled Linked List
New Features in Java 12
Spring Boot - Web Socket
New Features in Java 13
Java Program to Find the Edge Connectivity of a Graph
New in Spring Security OAuth2 – Verify Claims
Hướng dẫn sử dụng String Format trong Java
An Intro to Spring Cloud Vault
Build a REST API with Spring and Java Config
Java Program to Implement SimpeBindings API
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Check If Two Lists are Equal in Java
Spring Boot with Multiple SQL Import Files
Hướng dẫn Java Design Pattern – State
Java Program to Implement Hash Trie
Java Program to Perform Naive String Matching
Using a Mutex Object in Java
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Java Scanner hasNext() vs. hasNextLine()
Hướng dẫn Java Design Pattern – Visitor
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
ArrayList trong java
Tạo ứng dụng Java RESTful Client với thư viện OkHttp
Java Program to Implement Gale Shapley Algorithm
Spring Security 5 – OAuth2 Login
What is Thread-Safety and How to Achieve it?
File Upload with Spring MVC
Spring Boot - Rest Controller Unit Test
Tổng quan về ngôn ngữ lập trình java
Spring Security with Maven
Deploy a Spring Boot WAR into a Tomcat Server
Chuyển đổi từ HashMap sang ArrayList