第十届蓝桥杯大赛PythonC组

本文解析了第十届编程竞赛中的十个题目,包括求和、矩形切割、质数寻找、最大降雨量计算等,提供了详细的解题思路及代码实现。

A:求和

在这里插入图片描述

暴力

count=0
for i in range(1,2020):
if (“2” in str(i)) or (“0” in str(i))or (“1” in str(i))or (“9” in str(i)):
print(i)
count+=i
print(count)
在这里插入图片描述

B:矩形切割

在这里插入图片描述

暴力:用个while循环,找min(width,length),直到有一个为1

long = 2019
width = 324
count=0
while long!=1 and width !=1:
    if long>width:
        long = long - width
        count+=1
    elif long==width:
        long,width=0,0
        count+=1
        break
    else:
        width = width -long
        count+=1

count+=(long or width)#剩下的1X(width or long)块切为1X1,1X1...
print(count)

在这里插入图片描述

不同子串

在这里插入图片描述

这题好像在B组见了哈,直接暴力,用切片
s=“0100110001010001”
se=set()
for i in range(len(s)):
for j in range(i+1,len(s)+1):
se.add(s[i:j])
print(len(se))
在这里插入图片描述

D:质数

在这里插入图片描述

求质数.暴力

count=1
flag = False
for i in range(3,10000000):
    for j in range(2,i):
        if i%j==0:
            flag = True
            break
    if flag == True:
        flag=False
        continue
    else:
        print(i)
        count+=1
    if count == 2019:
        print(i)
        break

在这里插入图片描述

E:最大降雨量

在这里插入图片描述

感觉好像数学题
思路:7个数最小值为1+2+。。+7,中位数为4,最大值为43+。。+49=51
每个星期的中位数都在4-51来回变化。盲猜每个星期中位数差不多的时候为最大值,应该是3小+4大这样的组合在这里插入图片描述

F:旋转(15分)

在这里插入图片描述

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值