Таким способом можно получить массив натуральных чисел, но 2^100 даст уже очень большое число.
Здесь задача немного сложнее.
Эти числа - это номиналы сопротивлений резисторов. Если принять 2^0 за 1 кОм, то 2^10 даст уже 1 МОм. Технически это не эффективно.
Нужно расширить количество возможных номиналов в пределах 1 Ом - 1 МОм до 100 шт.
Может есть другая возможность?
Кстати,я только заметил, что

не подходит, т.к. получится комбинация в массиве не удовлетворяет условию.
1, 2, 4, 8, 16, 32, 64, 128, ...
Например, сумма 32+16=48. Ее можно получить еще и комбинацией 32+2+4+8=48!!!
Не подходит.