PAT乙级练习题_1023“组个最小数”_python解题

2023-11-07

原题

给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。

现给定数字,请编写程序输出能够组成的最小的数。

输入格式

输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。

输出格式

在一行中输出能够组成的最小的数。

输入样例

2 2 0 0 0 3 0 0 1 0

输出样例

10015558

my answer

思路:先找到拥有的最小的非零整数作为该数的最高位,然后从小到大遍历拥有的数,依次将它们排列在后面即可

input_str = input()
input_list = input_str.split()

result = ""

for i in range(1, 10): # 遍历列表,找到“拥有”的最小非零整数作为最终结果的最高位,同时将拥有这个数的数量减一
    if int(input_list[i]) != 0:
        result = str(i) + result
        input_list[i] = str(int(input_list[i]) - 1)
        break
result = result + str(0)*int(input_list[0])
for i in range(1, 10):
    if input_list[i] != 0:
        result = result + str(i)*int(input_list[i])
print(result)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PAT乙级练习题_1023“组个最小数”_python解题 的相关文章

随机推荐

  • mac android自动化测试学习心得,解决uiautomator视图界面无法打开的问题

    原因是我安装的jdk版本为9 0 4 彻底卸载后 安装8即可正常启动 输入命令 sudo rm fr Library Internet Plug Ins JavaAppletPlugin plugin sudo rm fr Library
  • 各版本Pytorch安装详解

    Pytorch安装教程 windows版本 conda安装 1 cuda9 0 python3 6 3 5 3 7 conda install pytorch c pytorch pip3 install torchvision 2 cud
  • AVFoundation 播放器实例

    播放器 使用苹果官方的 AVFoundation 框架 可以很容易的封装一个视频的播放器 在获取视频资源后 只需要将视频在播放图层中渲染即可 并且可以在图层中添加控件 以便对视频的播放和暂停进行控制 下面封装的库 主要包含两个类 HXJPl
  • FTP云盘

    参考 FTP云盘项目 作者 糯米啊啊 发布时间 2021 08 19 10 34 05 网址 https blog csdn net weixin 43732386 spm 1001 2014 3001 5509 参考 自制FTP云盘项目
  • 纯干货基于flinkcdc实现mysql到mysql/oracle/...... DML实时同步

    CDC 首先什么是CDC 它是Change Data Capture的缩写 即变更数据捕捉的简称 使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游 供下游使用 这些变更可以包括INSERT DELETE UPDATE等操作
  • c++实现冒泡排序

    用c 实现冒泡排序 include
  • 大数据分析实例:使用Python进行数据清洗与可视化

    大数据分析实例 使用Python进行数据清洗与可视化 随着大数据时代的到来 数据分析在各个领域中扮演着重要的角色 本文将介绍如何使用Python进行大数据分析的实例 包括数据清洗和可视化技术 我们将使用Python中一些常用的库 如NumP
  • Flask+MySQL学生信息维护系统

    Python课程期末项目 小白一个 学生信息维护系统项目概述 学生管理系统是一个基于 Python 的 Flask MySQL 项目 旨在实现对学生信息的管理和查询 该系统主要包括学生信息录入 信息查询 信息修改和信息删除 信息可视化等功能
  • 定时器的相关知识与运用定时器相关的程序

    一 定时器的介绍 1 定时器的介绍 51单片机的定时器属于单片机的内部资源 其电路的连接和运行均在单片机内部完成 2 定时器作用 1 用于计时系统 实现软件计时 或者使程序每隔一固定时间完成一项操作 2 替代长时间的Delay 提高CPU的
  • 如何解决IE浏览器主页被改为2345.com

    如何解决IE浏览器主页被改为2345 com 将桌面上IE图标删除 也将开始中的IE图标删除了 找到C Program Files Internet Explorer 将IE图标重新放在了桌面上 点击IE之后 终于好使了
  • 安装rpm软件,丢失库解决方案

    1 问题 root fei rpm ivh libevent 1 4 13 4 el6 i686 rpm error Failed dependencies libc so 6 is needed by libevent 1 4 13 4
  • go语言WaitGroup 实现原理

    Go语言中的WaitGroup是一种并发原语 用于等待一组goroutine的完成 它提供了三个方法 Add Done 和Wait Add delta int 向计数器添加或减去给定的值 delta可以为负数 Done 减少计数器的值 相当
  • [网络安全提高篇] 一二三.恶意样本分类之基于API序列和深度学习的恶意家族分类详解

    终于忙完初稿 开心地写一篇博客 网络安全提高班 新的100篇文章即将开启 包括Web渗透 内网渗透 靶场搭建 CVE复现 攻击溯源 实战及CTF总结 它将更加聚焦 更加深入 也是作者的慢慢成长史 换专业确实挺难的 Web渗透也是块硬骨头 但
  • SpringCloud -Nacos服务注册与发现

    Nacos简介 Nacos 致力于帮助您发现 配置和管理微服务 Nacos 提供了一组简单易用的特性集 帮助您快速实现动态服务发现 服务配置 服务元数据及流量管理 Nacos 具有如下特性 服务发现和服务健康监测 支持基于DNS和基于RPC
  • c++ 实现压缩

    简介 目标 使用c 压缩文件夹 方法 调用exe来实现的压缩 这里调用的是自己编译的minizip exe 环境 win10 win7 visual studio 2019 资源 https github com ltCodeW miniz
  • Big Endian与Little Endian区别

    author skatetime 2010 03 05 Big Endian与Little Endian区别 1 什么是Big Endian和Little Endian 在设计计算机系统的时候 有两种处理内存中数据的方法 一种叫为littl
  • CoreData 如新如故

    真正的陪伴不是你的所有绝望我都感同身受 而是有我在一切都会好起来 乱糟糟的一天 最近在为新项目做准备 想使用CoreData框架作为数据持久化的操作方式 因为没用过 之前直接用的SQLite 就研究了下 才发现这是一个比较大的内容 既然是骨
  • 在使用函数式 setState 时报错 this.setState is not a function

    在react中点击事件里面 setState 时会使this重新定义 所以在点击的函数里面使用this setState 时会报错this setState not a function 因此需要提前给点击事件的函数绑定this
  • Python爬虫——异常处理(try/except/else/finally)

    1 什么是异常 当程序运行中检测到一个错误时 无法继续执行 出现了一些错误的提示 这就是异常 常见错误类型 BaseException 所有异常的基类 SystemExit 解释器请求退出 KeyboardInterrupt 用户终端执行
  • PAT乙级练习题_1023“组个最小数”_python解题

    原题 给定数字 0 9 各若干个 你可以以任意顺序排列这些数字 但必须全部使用 目标是使得最后得到的数尽可能小 注意 0 不能做首位 例如 给定两个 0 两个 1 三个 5 一个 8 我们得到的最小的数就是 10015558 现给定数字 请