题目一给定任意非负整数M,判断其能否表达为 M = 2 ^a + 2 ^b(a和b为非负整数),若可以输出a和b,若不能输出-1;例如: 输入:6 输出: "1 2"分析:void findAB(int M){} 为解决问题的主函数流程:若 M <= 0, 2的幂次无法为0,故认为无解,直接返回 "-1"检查M是否是2的幂次方,如果是,直接输出 "0 log2(M)"用两层循环遍历所有可能得a值和b值查找可能得结果,检查的范围限定在 a 在 [0, log2M], b 在 [a + 1, log2M], b...