我渊啊我渊啊 2021-08-14 15:59 采纳率: 75%
浏览 80
已结题

#C语言题目 #二进制

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

  • 写回答

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条)

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 8月14日