Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* We are given 5 integer numbers.
- * Write a program that finds all subsets of these numbers whose sum is 0.
- * Assume that repeating the same subset several times is not a problem. */
- import java.util.Scanner;
- public class ZeroSubset {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Scanner scan = new Scanner(System.in);
- System.out.print("Enter a 5 Integer numbers: ");
- int num1 = scan.nextInt();
- int num2 = scan.nextInt();
- int num3 = scan.nextInt();
- int num4 = scan.nextInt();
- int num5 = scan.nextInt();
- scan.close();
- boolean foundZeroSubset = false;
- if (num1 + num2 + num3 + num4 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d + %d + %d = 0\n", num1, num2, num3, num4, num5);
- }
- if (num1 + num2 + num3 + num4 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d + %d = 0\n", num1, num2, num3, num4);
- }
- if (num1 + num2 + num3 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d + %d = 0\n", num1, num2, num3, num5);
- }
- if (num1 + num2 + num4 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d + %d = 0\n", num1, num2, num4, num5);
- }
- if (num1 + num3 + num4 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d + %d = 0\n", num1, num3, num4, num5);
- }
- if (num2 + num3 + num4 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d + %d = 0\n", num2, num3, num4, num5);
- }
- if (num1 + num2 + num3 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num1, num2, num3);
- }
- if (num1 + num2 + num4 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num1, num2, num4);
- }
- if (num1 + num2 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num1, num2, num5);
- }
- if (num1 + num3 + num4 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num1, num3, num4);
- }
- if (num1 + num3 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num1, num3, num5);
- }
- if (num1 + num4 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num1, num4, num5);
- }
- if (num2 + num3 + num4 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num2, num3, num4);
- }
- if (num2 + num3 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num2, num3, num5);
- }
- if (num2 + num4 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num2, num4, num5);
- }
- if (num3 + num4 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d + %d = 0\n", num3, num4, num5);
- }
- if (num1 + num2 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num1, num2);
- }
- if (num1 + num3 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num1, num3);
- }
- if (num1 + num4 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num1, num4);
- }
- if (num1 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num1, num5);
- }
- if (num2 + num3 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num2, num3);
- }
- if (num2 + num4 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num2, num4);
- }
- if (num2 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num2, num5);
- }
- if (num3 + num4 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num3, num4);
- }
- if (num3 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num3, num5);
- }
- if (num4 + num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d + %d = 0\n", num4, num5);
- }
- if (num1 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d\n", num1);
- }
- if (num2 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d\n", num2);
- }
- if (num3 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d\n", num3);
- }
- if (num4 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d\n", num4);
- }
- if (num5 == 0) {
- foundZeroSubset = true;
- System.out.printf("%d\n", num5);
- }
- if (!foundZeroSubset) {
- System.out.println("No Zero Subset!");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement