传统方法
List<int> getPro(int[] array,int num)
{
List<int> list = new List<int>();
for (int i = array.Length - 1; i >= 0; i--)
{
if (num < array[i]) continue;
list.Add(array[i]);
num = num - array[i];
if(num == 0) break;
}
return list;
}
List<int> getPro(int[] array,int num)
{
List<int> list = new List<int>();
for (int i = array.Length - 1; i >= 0; i--)
{
if (num < array[i]) continue;
list.Add(array[i]);
num = num - array[i];
if(num == 0) break;
}
return list;
}
List<int> getPro(int[] array,int num)
{
List<int> list = new List<int>();
foreach(int i in array)
{
if ((num & i) == i)
list.Add(i);
}
return list;
}