当前位置: 首页 > article >正文

【练习】PAT 乙 1023 组个最小数

题目

给定数字 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

来源:PAT 乙 1023 组个最小数


题解

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int num[10]; // 定义一个数组 num,用于存储数字 0-9 的个数
    
    // 输入数字 0-9 的个数
    for (int i = 0; i < 10; i ++)
        cin >> num[i];
    
    string str; // 定义一个字符串 str,用于存储最终的结果
    
    // 构建字符串,跳过 num[0](因为 0 不能作为首位)
    for (int i = 1; i < 10; i ++)
        while (num[i] --) // 将数字 i 重复 num[i] 次加入字符串
            str += to_string(i); // 将数字 i 转换为字符串并追加到 str 中
    
    // 插入 num[0] 个 '0' 到 str 的第 1 个位置
    str.insert(1, num[0], '0'); // 在位置 a 插入 num[0] 个 '0'
    
    // 输出最终结果
    cout << str;
    return 0;
}

http://www.kler.cn/a/526386.html

相关文章:

  • AI 的安全性与合规性:实践中的最佳安全策略
  • 网站快速收录:利用新闻源的优势
  • python编程环境安装保姆级教程--python-3.7.2pycharm2021.2.3社区版
  • 【C语言】在Windows上为可执行文件.exe添加自定义图标
  • 巴塞尔问题详解:计算所有正整数平方的倒数之和
  • Flutter使用Flavor实现切换环境和多渠道打包
  • 镭速大文件传输自动选择压缩算法原理
  • 学技术学英语:elasticsearch查询的两阶段queryingfetching
  • 如何监控ubuntu系统某个程序的运行状态,如果程序出现异常,对其自动重启。
  • MATLAB的数据类型和各类数据类型转化示例
  • 基于新一代电子电器架构的SOA服务设计方法
  • DeepSeek R1与OpenAI o1深度对比
  • 智能家居监控系统数据收集积压优化
  • games101-作业3
  • 【漫话机器学习系列】069.哈达马乘积(Hadamard Product)
  • llama.cpp LLM_CHAT_TEMPLATE_DEEPSEEK_3
  • NLP模型大对比:Transformer >Seq2Seq > LSTM > RNN > n-gram
  • 能源行业区块链相关的书籍
  • 【Linux】线程互斥与同步
  • Python标准库 - os (2) 进程管理
  • 力扣116. 填充每个节点的下一个右侧节点指针
  • C#Halcon扇形/圆环缺陷检测(极坐标变换法)
  • 剑指 Offer II 010. 和为 k 的子数组
  • 设计模式Python版 建造者模式
  • 登录管理——认证方案(JWT、拦截器、ThreadLocal、短信验证)
  • 数据采集丨豆瓣电影详细数据的采集与可视化分析(scrapy+mysql+matplotlib+flask)