自学内容网 自学内容网

python蓝桥杯刷题2

1.最短路

题解:这个采用暴力枚举,自己数一下就好了

2.门牌制作

题解:门牌号从1到2020,使用for循环遍历一遍,因为range函数无法调用最后一个数字,所以设置成1到2021即可,然后每一次for循环,都使用count计算i中有几个2,count函数是针对与数据容器的,所以把i要转换为字符串,在使用count,最后累加输出即可。

import os

import sys

# 请在此输入您的代码

num1 = 0

for i in range(1,2021):

  num = str(i).count("2")

  num1 += num

print(num1)

3.卡片

题解:for循环从1到一个很大的数遍历,每一次循环使用count找出i里面的1,因为1是最早出现的,当然也是最早用完卡片的,所以使用1拼完时,减1就可以找出拼到多少数了。

import os

import sys

# 请在此输入您的代码

num = 0

num1 = 0

for i in range(1,1000000):

  x = str(i).count("1")

  num += 1

  num1 += x

  if num1 > 2021:

    print(num-1)

    break

 4.空间

题解:1MB=1024KB、1KB=1024B,所以1mb=1024*1024b,256mb=256*1024*1024b,一个字节占用8个位,所以32位二进制整数占用4个字符。


原文地址:https://blog.csdn.net/2401_87332612/article/details/143894035

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!