Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace HW06.SubsetSums
- {
- class SubsetSums
- {
- static void Main()
- {
- int n = int.Parse(Console.ReadLine());
- int[] numbers = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
- bool Subsets = false;
- int length = (int)Math.Pow(2 , numbers.Length) - 1;
- for(int i = length; i > 0; i--)
- {
- int sum = 0;
- StringBuilder sb = new StringBuilder();
- for(int j = 0; j < numbers.Length; j++)
- {
- int mask = i >> j;
- if(mask % 2 != 0)
- {
- sum += numbers[j];
- sb.Append(string.Format("{0} + " , numbers[j]));
- }
- }
- if(sum == n && sb.Length != 0)
- {
- Subsets = true;
- Console.WriteLine("{0} = {1}" , sb.Remove(sb.Length - 2 , 2), n);
- }
- }
- if(!Subsets)
- {
- Console.WriteLine("No matching subsets.");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement