java 把一个整数分解为2的幂方相加
import java.util.ArrayList;
import java.util.List;
public class IntegerDecomposition {
public static List<Integer> decomposeToPowersOfTwo(int number) {
List<Integer> powers = new ArrayList<>();
while (number > 0) {
int power = Integer.numberOfTrailingZeros(number);
powers.add(1 << power);
number -= 1 << power;
}
return powers;
}
public static void main(String[] args) {
int number = 10; // 示例数字
List<Integer> decomposed = decomposeToPowersOfTwo(number);
System.out.println("整数 " + number + " 分解为2的幂方相加的和为: " + decomposed);
}
}