sicily 6084 Times17

来源:互联网 发布:做宣传单的软件 编辑:程序博客网 时间:2024/06/01 09:17
二进制

题意:
输入n,输出17*n.输入和输出都是二进制码形式

数据范围:
串长度<=1000

思路:

先把输入的二进制串变成10进制,再乘17,再重新从十进制变回二进制?这样太麻烦了,1000位的二进制码意味着你的十进制要高精度

一个数x乘17,可以等于16x+x,对于二进制来说,乘16是一件很简单的事,左移四位补零就是了.

所以方法就是把输入的串加四个零,然后模拟二进制加法加上原串,即可得到17*n

总结:17x=16x+x


0 0
原创粉丝点击