栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python蓝桥杯真题刷题打卡 | day2

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python蓝桥杯真题刷题打卡 | day2

目录

数字三角形卡片排序成绩分析等差素数列

数字三角形

2020省赛 动态规划 dp

输入输出样例
输入:

5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5

输出:

27

代码:

import os
import sys

# 请在此输入您的代码
h = int(input())  # 输入数据
W = [list(map(int, input().split())) for i in range(h)]
# 循环遍历计算到每一行的和的最大值
for i in range(1, h):
    for j in range(0, i + 1):
        if j == 0:  # 最左边元素只能由右上方得到
            W[i][j] += W[i - 1][j]
        elif j == i:  # 最右边元素只能由左上方得到
            W[i][j] += W[i - 1][j - 1]
        else:  # 其余元素由上方较大值得到
            W[i][j] += max(W[i - 1][j - 1: j + 1])

if len(W)%2 == 0:
    print(max(W[-1][h // 2 - 1], W[-1][h // 2]))

else:
    print(W[-1][h // 2])
卡片

2021 填空 省赛

由题目可知,数字1应该是最先被用完的,所以我们这里只统计1的个数,当超过2021时,则终止
代码:

num=0  #用num用来累计用过的数字“1”的次数
for i in range(1,10000):
       num+=str(i).count("1")  #出现过几次1就 给num加上多少
       if num>2021:  #当num数量超过2021时卡牌数量不足
              break
print(i-1)
排序

2020 省赛 填空

代码:

import os
import sys

# 请在此输入您的代码
'''
全逆乱序的冒泡排序次数为N*(N-1)/2
15*14/2=105
14*13/2=91
100次交换至少需要15个字母
onmlkgihgfedcba
105-100=5,只需把第6个字母往后移到第1位即可
'''
print("jonmlkihgfedcba")
成绩分析

模拟 暴力 2020 省赛

输入输出样例
输入:

7
80
92
56
74
88
99
10

输出:

99
10
71.29

代码

import os
import sys

# 请在此输入您的代码
num = int(input())
score_list = [int(input()) for i in range(num)]
print(max(score_list))
print(min(score_list))
print("{:.2f}".format(sum(score_list)/num))
等差素数列

2017 填空 省赛

import os
import sys
def pan(n):#判断素数
    for i in range(2,n):
        if n%i==0:
            return False
    return True
f=0#数多少个
a=0#记录第一个数
b=0#记录公差
for i in range(2,1000):#第一个素数 范围可以调整
    if pan(i)==False:
        continue
    else:#是素数的话
        for j in range(1,501): #公差 范围可以调整
            f=0
            for r in range(i+j,i+j*11,j):
                if pan(r)==False:
                    break
                else:
                    f+=1
            if f==9:#有十个等差素数的数列
                a=i
                b=j
                break
    if a!=0:
        break
if a==0:
    print("no")
else:
    print(b)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757208.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号