想问下这个题目有没有什么好的思路?
穷举法的话会超出题目给的时间限制
一开始想的是设置一个数组来存放二进制的01,然后通过类似于全排列的算法来解决
不知道大家有没有什么更好的解决方法

#C语言题目 #二进制
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- zhonguncle 2021-08-14 17:17关注
可以利用n位二进制数中有C(k,n)个含有k个1的数,例如四位二进制数里含有2个1的数为C(2,4)=4*3/2=6个。
这样可以利用这个规律来提高效率,比如1-18这个范围就减少到16-18,算这个范围即可。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用