首页 > 编程语言 >第十三届蓝桥杯Python 大学 B 组 数位排序

第十三届蓝桥杯Python 大学 B 组 数位排序

时间:2024-11-06 16:19:30浏览次数:5  
标签:13 用例 Python 蓝桥 int 2022 排序 数位

数位排序

问题描述

小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。当 两个数各个数位之和不同时, 将数位和较小的排在前面, 当数位之和相等时, 将数值小的排在前面。

例如, 2022 排在 409 前面, 因为 2022 的数位之和是 6, 小于 409 的数位 之和 13 。

又如, 6 排在 2022 前面, 因为它们的数位之和相同, 而 6 小于 2022 。

给定正整数 n,mn,m, 请问对 1 到 nn 采用这种方法排序时, 排在第 mm 个的元 素是多少?

输入格式

输入第一行包含一个正整数 nn 。

第二行包含一个正整数 mm 。

输出格式

输出一行包含一个整数, 表示答案。

样例输入

13
5

样例输出

3

样例说明

1 到 13 的排序为: 1,10,2,11,3,12,4,13,5,6,7,8,91,10,2,11,3,12,4,13,5,6,7,8,9 。第 5 个数为 3 。

评测用例规模与约定

对于 30%30% 的评测用例, 1≤m≤n≤3001≤m≤n≤300 。对于

50%50% 的评测用例, 1≤m≤n≤10001≤m≤n≤1000 。

对于所有评测用例, 1≤m≤n≤1061≤m≤n≤106 。

运行限制

  • 最大运行时间:3s
  • 最大运行内存: 512M

代码部分:

n=int(input())#13
m=int(input())#5

li=list(range(1,n+1))#生成13个数字的列表

li.sort(key=lambda x:sum(int(i) for i in str(x)))#对这13个数字列表以数位相加后的大小进行排序

print(li[m-1])#找到m对应的数

'''
对于s.sort(key=lambda x:sum(int(i) for i in str(x)))的细节解释:

(int(i) for i in str(x)) ——> 理解为把列表中的元素一个个拿出来,以int型返回。
比如:x=10时,这个表达式变为 1,0

key来根据sum函数的大小排序
'''

标签:13,用例,Python,蓝桥,int,2022,排序,数位
From: https://blog.csdn.net/2301_79945869/article/details/143573298

相关文章

  • 蓝桥杯【第13届省赛】Python B组 C题
    C:纸张尺寸【问题描述】    在ISO国际标准中定义了A0纸张的大小为1189mm×841mm,将A0纸沿长边对折后为A1纸,大小为841mm×594mm,在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。将A1纸沿长边对折后为A2纸,依此类推。     输入纸张的名称......
  • 1.python的基本语法和简单数据类型
    1.1语法特点1.1.1注释语句单行注释在所需注释内容前加'#'号#我是一个注释多行注释'''(单引号/或双引号)注释代码''''''我是代码我是代码我是代码我是代码'''1.2.1缩进先看代码if<我是条件1>:<我是代码><我是代码>else:<我是......
  • 纯基础,新手小白也能学会:python的循环,循环控制以及图形输出(矩形,三角形,九九乘法表)
    python循环1.python的循环2.python循环控制3.图形输出1.矩形2.平行四边形3.直角三角形4.等腰直角三角形5.打印九九乘法表1.python的循环循环三要素:循环变量初始化循环条件改变循环变量i=1#循环变量初始化whilei<=5:print(f'跑到了第{i}圈')i......
  • python webdriver-manager 实现selenium 免下载安装webdriver
    selenium在自动化测试中,通常需要使用浏览器驱动来与浏览器进行交互。然而,手动下载、安装、以及管理这些驱动非常麻烦,尤其是当驱动版本频繁更新时。为此,webdriver-manager库提供了一个极简的方案,自动帮我们下载、更新和管理驱动,使Selenium代码更简洁优雅。webdriver-managergit......
  • 安卓端和鸿蒙性能测试环境脚本-sh+python
    背景:做安卓和鸿蒙性能测试,需要搭建环境,把常用的几个pip包和虚拟环境等记录一下,在新的电脑上可以快速安装(仅作为个人记录)准备工作mac电脑python版本>=3.7.9sh脚本#!/usr/local/bin/bash##########################################################################Fil......
  • python之base64与字符串互相转化
    importbase64defstring_to_base64(input_string:str)->str:"""将字符串转换为Base64编码。参数:input_string(str):要转换的字符串。返回:str:Base64编码后的字符串。"""#将字符串转换为字节byte_data=input_string......
  • Python 爬取大量数据如何并发抓取与性能优化
    Python并发抓取与性能优化在进行网络爬虫开发时,爬取大量数据可能非常耗时。尤其是在处理许多网页或API请求时,逐个请求速度会非常慢。为了解决这个问题,我们可以通过并发抓取提高爬取效率。同时,通过性能优化来进一步减少耗时和资源占用,使爬虫更高效。本篇文章将带大家了解......
  • Python 使用 Selenium 如何抓取动态网页
    Python动态网页抓取:基础教程在如今的网络中,许多网站是“动态”的,即网页内容不是静态的HTML文件,而是由JavaScript动态生成的。这种动态网页在数据抓取中带来了一些挑战,因为传统的HTML抓取方法无法抓取JavaScript生成的内容。在本教程中,我们将详细介绍如何使用Pyth......
  • Python 继承、多态、封装、抽象
    面向对象编程(OOP)是Python中的一种重要编程范式,它通过类和对象来组织代码。OOP的四个核心概念是继承(Inheritance)、多态(Polymorphism)、封装(Encapsulation)和数据抽象(DataAbstraction)。下面将详细介绍这四个概念。继承(Inheritance)继承是面向对象编程(OOP)的一个基本概念,它允......
  • [记录]安装 Python 中SPAM库失败
    报错信息:×pythonsetup.pyegg_infodidnotrunsuccessfully.│exitcode:1╰─>[41linesofoutput]runningegg_infocreating/private/var/folders/l9/f9rjm65s07bdf55y5xyk9f2c0000gn/T/pip-pip-egg-info-o3ic4gdp/progressbar.egg-infowriting/private/var/fo......