一道算法题

今天碰到一个算法题,大意是如果N大于0就把N对2取余压栈,然后除2,循环往复直到N不再大于0然后全部弹栈,问N如果取50,结果是什么,这个算法的意义是什么。我把N=50这个条件带进去之后,也算出了正确的结果是110010,感觉是10进制转换成2进制啊,果然是。然后我就想,为什么不停地对2取余就能转换进制呢,在我差点就要去百度的时候我发现,11001其实代表着25,加个零变成110010,也就是10进制的50——这其实跟十进制是一样的,在5后面加个0就是50,50对10取余第一次得0,除10再取余得5,按先进后出原则写出来就是50。这东西确实蛮有意思的。
9.12

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值