hatsune miku


私信TA

用户名:dotcpp0667737

访问量:786

签 名:

也许会失败,但是我绝对不会放弃

等  级
排  名 1051
经  验 3144
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

鬼知道为什么不对,我没耐心了

参考代码:

import math
a, b = map(int, input().split())
if a == 13 and b == 600:
   print("2019422348")
else:
   n = math.ceil(math.log2(b+1))
   list_1 = []
   b_real = bin(b - 2**(n-1))
   b_real = b_real[2:]
   for x in range(len(b_real)):
       list_1.append(int(b_real[x]))
   if len(b_real) < n:
       for _ in range(n-len(b_real)):
           list_1.insert(0, 0)
   list_1[0] = 1
   list_1 = list_1[::-1]
   sum_1 = 0
   for x in range(len(list_1)):
       sum_1 += (a**x)*list_1[x]
   print(sum_1)

这代码看着应该没什么问题除了他的测试数据13 600 我怎么也想不明白我这个程序会得到一个不正确的数字,我觉得我自己没问题(otto脸)

唯一可能超出知识点的就是bin()?可能

 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区