Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class UnionNSets
- {
- public static void main(String[] args)
- {
- Scanner keyboard = new Scanner(System.in);
- int i;
- int size;
- double totalProbability = 0;
- double probArray[];
- System.out.println("This only works for 3-set unions atm");
- System.out.print("Please enter the size of the array: ");
- size = keyboard.nextInt();
- probArray = new double[size];
- //Gathering input
- for (i = 0; i < size; i++)
- {
- System.out.print("Please enter element array[" + i + "]: ");
- probArray[i] = keyboard.nextDouble();
- }
- totalProbability += calcOnes(probArray, size);
- totalProbability -= calcTwos(probArray, size);
- totalProbability += calcThrees(probArray, size);
- System.out.println("Probability of " + size + "-set union: " + totalProbability);
- }
- //Sums the initial probabilities
- public static double calcOnes(double[] probArray, int size)
- {
- double result = 0;
- for (int i = 0; i < size; i++)
- {
- result+= probArray[i];
- }
- return result;
- }
- //Subtracts every intersection of pairs
- public static double calcTwos(double[] probArray, int size)
- {
- double result = 0;
- for (int i = 0; i < size - 1; i++)
- {
- for (int j = i + 1; j < size; j++)
- {
- result+= probArray[i] * probArray[j];
- }
- }
- return result;
- }
- //Sums every intersection of three-pairs
- public static double calcThrees(double[] probArray, int size)
- {
- double result = 0;
- for (int i = 0; i < size - 2; i++)
- {
- for (int j = i + 1; j < size - 1; j++)
- {
- for (int k = j + 1; k < size; k++)
- {
- result+= probArray[i] * probArray[j] * probArray[k];
- }
- }
- }
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement