Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic; // for the List<int> fiveNumbers
- class SumOfSubset
- {
- static void Main()
- {
- /* We are given 5 integer numbers. Write a program that checks if the sum of some subset of them is 0.
- * Example: 3, -2, 1, 1, 8 1+1-2=0.
- */
- Console.Write("integer 1: ");
- int first = int.Parse(Console.ReadLine());
- Console.Write("integer 2: ");
- int second = int.Parse(Console.ReadLine());
- Console.Write("integer 3: ");
- int third = int.Parse(Console.ReadLine());
- Console.Write("integer 4: ");
- int fourth = int.Parse(Console.ReadLine());
- Console.Write("integer 5: ");
- int fifth = int.Parse(Console.ReadLine());
- Console.WriteLine();
- List<int> fiveNumbers = new List<int> { first, second, third, fourth, fifth }; // list with the five integers
- int sumCounter = 0; // the number of subsets with sum = 0
- for (int i = 0; i < fiveNumbers.Count-1; i++) // number + next to it == 0
- {
- if (fiveNumbers[i] + fiveNumbers[i + 1] == 0)
- {
- Console.WriteLine("{0} + {1} = 0", fiveNumbers[i], fiveNumbers[i + 1]);
- sumCounter++;
- }
- }
- for (int i = 0; i < fiveNumbers.Count-2; i++) // number + next + next == 0
- {
- if (fiveNumbers[i] + fiveNumbers[i + 1] + fiveNumbers[i + 2] == 0)
- {
- Console.WriteLine("{0} + {1} + {2} = 0", fiveNumbers[i], fiveNumbers[i + 1], fiveNumbers[i + 2]);
- sumCounter++;
- }
- }
- for (int i = 0; i < fiveNumbers.Count-3; i++) // number + next + next + next == 0
- {
- if (fiveNumbers[i] + fiveNumbers[i + 1] + fiveNumbers[i + 2] + fiveNumbers[i + 3] == 0)
- {
- Console.WriteLine("{0} + {1} + {2} + {3} = 0", fiveNumbers[i], fiveNumbers[i + 1], fiveNumbers[i + 2], fiveNumbers[i + 3]);
- sumCounter++;
- }
- }
- for (int i = 0; i < fiveNumbers.Count - 2; i++) // number + number through 1 == 0
- {
- if (fiveNumbers[i] + fiveNumbers[i + 2] == 0)
- {
- Console.WriteLine("{0} + {1} = 0", fiveNumbers[i], fiveNumbers[i + 2]);
- sumCounter++;
- }
- }
- for (int i = 0; i < fiveNumbers.Count - 3; i++) // number + number through 2 == 0
- {
- if (fiveNumbers[i] + fiveNumbers[i + 3] == 0)
- {
- Console.WriteLine("{0} + {1} = 0", fiveNumbers[i], fiveNumbers[i + 3]);
- sumCounter++;
- }
- }
- for (int i = 0; i < fiveNumbers.Count - 4; i++) // number + number through 3 == 0
- {
- if (fiveNumbers[i] + fiveNumbers[i + 4] == 0)
- {
- Console.WriteLine("{0} + {1} = 0", fiveNumbers[i], fiveNumbers[i + 4]);
- sumCounter++;
- }
- }
- for (int i = 0; i < fiveNumbers.Count - 4; i++) // number + number through 1 + number through 1 == 0
- {
- if (fiveNumbers[i] + fiveNumbers[i + 2] + fiveNumbers[i + 4] == 0)
- {
- Console.WriteLine("{0} + {1} + {2} = 0", fiveNumbers[i], fiveNumbers[i+2], fiveNumbers[i + 4]);
- sumCounter++;
- }
- }
- if (sumCounter == 0) // check how many subsets with sum = 0 there are
- {
- Console.WriteLine();
- Console.WriteLine("There are no subsets with sum = 0.");
- }
- else
- {
- Console.WriteLine();
- Console.WriteLine("Total subsets with sum = 0 are: {0}",sumCounter );
- }
- Console.WriteLine();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement