python_蓝桥杯刷题记录_笔记_全AC代码_入门4

news2024/9/26 3:30:39

题单目录

1.P1914 小书童——凯撒密码

2.P1028 [NOIP2001 普及组] 数的计算

3.P1036 [NOIP2002 普及组] 选数

4.P1149 [NOIP2008 提高组] 火柴棒等式

5.P1217 [USACO1.5] 回文质数 Prime Palindromes

6.P1478 陶陶摘苹果(升级版)

7.P1618 三连击(升级版)


1.P1914 小书童——凯撒密码

n = int(input())
str = input()
for i in range(len(str)):
    asc = ord(str[i]) + n
    if asc > ord('z'):
        asc = asc - ord('z') + ord('a')-1
    temp = chr(asc)
    print(f'{temp}',end='')

2.P1028 [NOIP2001 普及组] 数的计算

h = [0] * 10001
n = int(input())
for i in range(1, n + 1):
    h[i] = 1
    for j in range(1, i // 2 + 1):
        h[i] += h[j]
print(h[n])

3.P1036 [NOIP2002 普及组] 选数

import math
ans = 0
def isPrime(sum):
    if sum<2:
        return False
    for i in range(2,int(math.sqrt(sum))+1):
        if sum%i == 0:
            return False
    return True
def dfs(num,i,sum):
    global ans,l
    if num == k:
        if isPrime(sum):
            ans += 1
        return
    for j in range(i,n):
        dfs(num+1,j+1,sum+l[j])
    return

n,k = map(int,input().split(' '))
l = list(map(int,input().split(' ')))

dfs(0,0,0)
print(ans)

4.P1149 [NOIP2008 提高组] 火柴棒等式

 感觉没有写错,但是提交上去会显示超时,怎么改?????????

l = [6, 2, 5, 5, 4, 5, 6, 3, 7, 6]
n = int(input())
n -= 4
ans = 0
flag = 0
def f(num):
    global ans
    if num == 0:
        return 6
    while num != 0:
        ans += l[num%10]
        num //= 10
    return ans

for i in range(1111):
    for j in range(1111):
        num = f(i)+f(j)+f(i+j)
        if num == n:
            flag += 1
print(flag)

5.P1217 [USACO1.5] 回文质数 Prime Palindromes

 还是遇到很大的数字之后就又超时了,怎么解决呀?????

import math
a,b = map(int,input().split(' '))
def isPrime(n):
    if n<2:
        return False
    for i in range(2,int(math.sqrt(n))+1):
        if n%i == 0:
            return False
    return True

def isPalindromes(n):
    k = 0
    mark = n
    while mark != 0:
        m = mark % 10
        mark //= 10
        k = k*10 + m
    if k == n:
        return True
    return False
for i in range(a,b+1):
    if isPrime(i) and isPalindromes(i):
        print(i)

6.P1478 陶陶摘苹果(升级版)

sort 与 sorted 区别:

  1. sort 是应用在 list 上的方法,属于列表的成员方法,sorted 可以对所有可迭代的对象进行排序操作。
  2. list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
  3. sort使用方法为ls.sort(),而sorted使用方法为sorted(ls)

这道题主要在于要自己定义排序的规则

import functools

n, s = map(int,input().split(' '))
a, b = map(int,input().split(' '))
h = a + b

ans = 0
l = []
for i in range(n):
    temp = list(map(int,input().split(' ')))
    l.append(temp)

def my_cmp(x,y):
    if x[1]>y[1]:
        return 1
    else:
        return -1

l.sort(key=functools.cmp_to_key(my_cmp))
for k in l:
    if k[0]<=h and s>=k[1]:
        s -= k[1]
        ans += 1
    if s < k[1]:
        break
print(ans)

7.P1618 三连击(升级版)

太不容易了,一开始的做法是跟普通三连击的那个做法来的,结果就是有几个测试点一直都不能通过,然后我就再去思考了其他解法。

突然想到可以用字符串结合集合的做法去完成,很显然方便了很多,就是需要不断地去测试找到一些特殊情况,可算是找到了,最终全部通过了AC。

a, b, c = map(int,input().split(' '))
flag = 1
if a == 0 or b == 0 or c == 0:
    flag = 1
else:
    for i in range(1,334):
        num1 = i * a
        num2 = i * b
        num3 = i * c
        num11 = str(num1)
        num22 = str(num2)
        num33 = str(num3)
        if len(num11)==3 and len(num22)==3 and len(num33)==3:
            str_all = num11+num22+num33
            str_set = set(str_all)
            if len(str_set) == 9 and '0' not in str_set:
                print(f'{num1} {num2} {num3}')
                flag = 0
if flag:
    print('No!!!')

8.总结

继续加油!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1429878.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二代视频换脸工具facefusion

GitHub - facefusion/facefusion: Next generation face swapper and enhancer官方地址 1.环境安装 Windows - FaceFusion Windows Python winget install -e --id Python.Python.3.10 PIP python -m ensurepip --upgrade GIT winget install -e --id Git.Git

【Go语言成长之路】安装Go

文章目录 安装Go一、下载Go语言安装包二、删除以前安装的Go版本三、添加/usr/local/go/bin到环境变量内四、确认安装成功 安装Go Note: 这里只演示安装Linux版本的Go&#xff0c;若为其它版本&#xff0c;请按照官网的安装教程进行安装即可。 一、下载Go语言安装包 ​ 在浏览…

1Panel应用推荐:青龙定时任务管理平台

1Panel&#xff08;github.com/1Panel-dev/1Panel&#xff09;是一款现代化、开源的Linux服务器运维管理面板&#xff0c;它致力于通过开源的方式&#xff0c;帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用&#xff0c;1Panel特别开通应用商店&am…

STM32--USART串口(1)串口协议

一、通信接口 全双工&#xff1a;通信双方能够同时进行双向通信&#xff1b; 半双工&#xff1a;通信双方能够进行双向通信&#xff0c;但不能同时通信&#xff1b; 单工&#xff1a;只能从一个设备到另一个设备&#xff1b; 同步&#xff1a;接收方可以在时钟信号的指引下进…

银行数据仓库体系实践(8)--主数据模型设计

主数据区域中保留了数据仓库的所有基础数据及历史数据&#xff0c;是数据仓库中最重要的数据区域之一&#xff0c;那主数据区域中主要分为近源模型区和整合&#xff08;主题&#xff09;模型区。上一节讲到了模型的设计流程如下图所示。那近源模型层的设计在第2.3和3这两个步骤…

市场分析:共享wifi项目怎么样?

共享WiFi项目怎么样&#xff1f;这是很多人都想知道的问题。随着移动互联网的快速发展&#xff0c;WiFi已经成为人们生活中必不可少的一部分。而共享WiFi项目则通过为用户带来了更加便捷、快速的上网体验。那么&#xff0c;共享WiFi项目到底怎么样呢&#xff1f; 人们对网络的需…

Linux软件编程以及IO输入输出——linux——day1

Linux软件编程以及其IO输入输出 Linux软件编程 linux是操作系统的内核 主要有以下几个功能&#xff1a; ①管理CPU ②管理内存 ③管理硬件设备 ④管理文件系统 ⑤任务调度 shell指令 shell命令主要保护Linux内核(用户和Linux内核不直接操作,通过操作Shell,Shell和内核交互…

mermaid使用指南+notion使用实例-持续更新中

最近一个月了吧&#xff0c;发现Notion插入图片的功能坏了&#xff0c;直接paste会404&#xff0c;本地上传也不行。电脑本地版和手机端都插不了图片&#xff0c;很头疼。解决方法也简单&#xff0c;用图床&#xff0c;放链接。 付费版我用的七牛&#xff0c;结合PicGo&#x…

使用ngrok内网穿透

没有服务器和公网IP&#xff0c;想要其他人访问自己做好的网站&#xff0c;使用这款简单免费的内网穿透小工具——ngrok&#xff0c;有了它轻松让别人访问你的项目~ 一、下载ngrok 官网地址&#xff1a;ngrok | Unified Application Delivery Platform for Developers&#x…

React18构建Vite+Electron项目以及打包

一.先创建项目 cnpm create vite 选择React > JavaScript >cd react_vite > cnpm i >npm run dev 二.安装Electron依赖 指定版本相对稳定 cnpm i electron19.0.10 -D cnpm i vite-plugin-electron0.9.3 -D cnpm i electron-builder23.0.1 -D三.创建electron目录…

gRPC使用详解

起源特点主要优缺点应用场景组成部分使用方法SpringBoot集成gRPCVert.x集成gRPCNacos集成gRPC监控gRPC调用过程Java使用示例 起源 gRPC的起源可以追溯到2015年&#xff0c;当时谷歌发布了一款开源RPC框架&#xff0c;名为gRPC。gRPC的设计初衷是为了提供一种标准化、可通用和跨…

Java基于 SpringBoot+Vue 的前后端分离的小区物业系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

车载测试Vector工具——基于DoIP的ECU/车辆的连接故障排除

车载测试Vector工具——基于DoIP的ECU/车辆的连接故障排除 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和…

DevOps 教程 (4) - CI/CD 整合

在本第四章的"DevOps 教程"系列中&#xff0c;我们将介绍CI/CD整合的概念和实践。我们会介绍DevOps所带来的好处&#xff0c;包括团队协作、开发效率和产品交付速度的显著提升。 我们还将讨论在DevOps中的不同角色&#xff0c;并理解每个角色在持续集成和持续交付中的…

AI助力农作物自动采摘,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建作物生产场景下番茄采摘检测计数分析系统

去年十一那会无意间刷到一个视频展示的就是德国机械收割机非常高效自动化地24小时不间断地在超广阔的土地上采摘各种作物&#xff0c;专家设计出来了很多用于采摘不同农作物的大型机械&#xff0c;看着非常震撼&#xff0c;但是我们国内农业的发展还是相对比较滞后的&#xff0…

【C语言期末】职工管理系统

本文资源&#xff1a;https://download.csdn.net/download/weixin_47040861/88805231 1.题目要求 职工管理系统 问题描述&#xff1a;对单位的职工进行管理&#xff0c;包括插入、删除、查找、排序等功能。 要求&#xff1a;职工对象包括姓名、性别、出生年月、工作年月、学历…

【Springcloud篇】学习笔记二(四至六章):Eureka、Zookeeper、Consul

第四章_Eureka服务注册与发现 1.Eureka基础知识 1.1Eureka工作流程-服务注册 1.2Eureka两大组件 2.单机Eureka构建步骤 IDEA生成EurekaServer端服务注册中心&#xff0c;类似于物业公司 EurekaClient端cloud-provider-payment8081将注册进EurekaServer成为服务提供者provide…

将结构体中的浮点数数据提取出来并发送至串口屏显示

1、由于项目中定义了一个结构体如下&#xff1a; typedef struct {uint16_t number;uint16_t LocationData;uint16_t PersonData; // _calendar_obj calendar; // uint16_t LiuLiang_Value;float LiuLiang_Value;_calendar_obj calendar_records; } Frame; 现需要将其中的flo…

新手从零开始学习数学建模论文写作(美赛论文临时抱佛脚篇)

本文记录于数学建模老哥视频的学习过程中。b站视频&#xff1a;http://【【零基础教程】老哥&#xff1a;数学建模算法、编程、写作和获奖指南全流程培训&#xff01;】https://www.bilibili.com/video/BV1kC4y1a7Ee?p50&vd_sourceff53a726c62f94eda5f615bd4a62c458 目录…

一分钟教你搭建steam幻兽帕鲁服务器,稳定不卡

如何自建幻兽帕鲁服务器&#xff1f;基于阿里云服务器搭建幻兽帕鲁palworld服务器教程来了&#xff0c;一看就懂系列。本文是利用OOS中幻兽帕鲁扩展程序来一键部署幻兽帕鲁服务器&#xff0c;阿里云百科aliyunbaike.com分享官方基于阿里云服务器快速创建幻兽帕鲁服务器教程&…