当前位置:   article > 正文

第十五届蓝桥杯python B组A题题解_第十五届蓝桥杯2024年pythonb组题解

第十五届蓝桥杯2024年pythonb组题解

最开始看到题就想到了进制转换,我是自己定义了两个进制转换的函数来进行进制转换。首先先用短除法理一下进制转换的思路。

 首先我们定义一个转换为二进制数的函数,为了方便后续操作,我们用列表存储二进制数每一位的元素。

  1. def zhuan_two(x):
  2. a=[]
  3. while x!=0:
  4. b=x%2
  5. a.append(b)
  6. x//=2
  7. a.reverse()
  8. return a

四进制与之相类似,再定义一个判断各个位之和是否相等的函数,即可求出答案。

  1. #定义一个转化为二进制的函数
  2. def zhuan_two(x):
  3. a=[]
  4. while x!=0:
  5. b=x%2
  6. a.append(b)
  7. x//=2
  8. a.reverse()
  9. return a
  10. #定义一个转化为四进制的函数
  11. def zhuan_four(x):
  12. a=[]
  13. while x!=0:
  14. b=x%4
  15. a.append(b)
  16. x//=4
  17. a.reverse()
  18. return a
  19. def sum_digit(n):
  20. if sum(zhuan_two(n))==sum(zhuan_four(n)):
  21. return True
  22. ans=0
  23. for i in range(1,2025):
  24. if sum_digit(i):
  25. ans+=1
  26. print(ans)
63

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/558729
推荐阅读
相关标签
  

闽ICP备14008679号