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:
Supplier trong Java 8
Java Program to Implement Quick Sort with Given Complexity Constraint
Prevent Cross-Site Scripting (XSS) in a Spring Application
Spring Cloud AWS – RDS
Reversing a Linked List in Java
Java Program to Implement Solovay Strassen Primality Test Algorithm
Java Program to Describe the Representation of Graph using Adjacency Matrix
Spring Boot: Customize the Jackson ObjectMapper
Jackson – JsonMappingException (No serializer found for class)
REST Web service: Upload và Download file với Jersey 2.x
Giới thiệu Google Guice – Dependency injection (DI) framework
Deque và ArrayDeque trong Java
Spring JDBC
Control Structures in Java
Using Optional with Jackson
A Guide to ConcurrentMap
Java Program to Implement ScapeGoat Tree
Spring MVC + Thymeleaf 3.0: New Features
Java Program to Implement Doubly Linked List
Spring Boot - Tomcat Port Number
Luồng Daemon (Daemon Thread) trong Java
Java Program to Compute Cross Product of Two Vectors
Guava – Join and Split Collections
Reactive WebSockets with Spring 5
Java Concurrency Interview Questions and Answers
Life Cycle of a Thread in Java
Spring’s RequestBody and ResponseBody Annotations
Lập trình mạng với java
Java 9 Stream API Improvements
Java Program to Implement Floyd Cycle Algorithm
Toán tử instanceof trong java
Serverless Functions with Spring Cloud Function