牛客网题:斐波那契数做位权(c语言编写)

4f14096b17f745169f81c41b69e9ef0f.png

ed6162ce7844408cbb54cf6bfc22f600.png 

思路:类比二进制十进制十八进制,先找好比1e9大的最小表示数,即最大到42位,用两个数组将每一位的位权和最大值存储起来备用。再从最大值开始暴力枚举。(注意:将x与比i小一位的进行比较),比较后若大,则给一位二进制位,并减去该位 对应权位,若小,则给0并给一位二进制位。

下面是具体代码:10326c1e5fa948749b261ab770d7967a.png

94471c6a5e8c490397d78d715b4e6126.png 

 在二进制与斐波那契进制转换上是难点,也是想不到的地方。记录一下,给自己的一个新的思路。

写了给自己看的,每天进步一点点

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值