在 Python 中查找连续二进制数连接的程序
假设我们有一个数字 n,我们必须通过将 1 到 n 的二进制表示依次连接来找到二进制字符串的十进制值,如果答案太大,则返回答案模 10^9 + 7。
因此,如果输入像 n = 4,那么输出将是 220,因为通过将二进制表示从 1 连接到 4 将是“1”+“10”+“11”+“100”=110111000,这是二进制代表 220。
示例
让我们看看以下实现以获得更好的理解 -
def solve(n):ans = 1
m = (10**9+7)
for i in range(2,n+1):
ans = ans<<i.bit_length()
ans = (ans+i) % m
return ans
n = 4
print(solve(n))
输入
4输出结果
220
以上是 在 Python 中查找连续二进制数连接的程序 的全部内容, 来源链接: utcz.com/z/362058.html