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:
Phương thức forEach() trong java 8
Returning Image/Media Data with Spring MVC
Java Program to Implement D-ary-Heap
Server-Sent Events in Spring
Java Program to Perform Searching Using Self-Organizing Lists
Java Program to Implement Brent Cycle Algorithm
Spring REST API + OAuth2 + Angular
Spring Boot - Admin Client
Java Program to Implement Sieve Of Eratosthenes
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux
Testing an OAuth Secured API with Spring MVC
Convert Time to Milliseconds in Java
The StackOverflowError in Java
Receive email by java client
Java Program to Implement Rolling Hash
Hướng dẫn sử dụng Java Reflection
Java Multi-line String
Java – Convert File to InputStream
Function trong Java 8
Java Program to Find the Minimum Element of a Rotated Sorted Array using Binary Search approach
Java Switch Statement
Check if there is mail waiting
Converting Iterator to List
Java – Create a File
ETL with Spring Cloud Data Flow
ETags for REST with Spring
Java Program to implement Dynamic Array
Jackson Annotation Examples
Java Program to Implement Interpolation Search Algorithm
Spring Security Basic Authentication
Cachable Static Assets with Spring MVC
XML Serialization and Deserialization with Jackson