题目

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

分析

  • 首先,需要确定首位的数
  • 然后,其余的数按从小到大的顺序跟在后面
  • 各个数字的个数不超过50,只能用string或者字符数组来存储结果。

AC代码

#include<iostream>
#include<string>
using namespace std;
int main()
{int i,num[10];string  s="";for(i=0;i<10;i++){cin>>num[i];}int head;for(i=1;i<10;i++){if(num[i]!=0){head=i;      //找到除了0以外最小的数字放在首位 s=s+to_string(head);num[i]--;  //该数字的个数减一 break;}}int j;for(i=0;i<10;i++)//循环判断10个数字 for(j=0;j<num[i];j++)//判断各个数字个数是否为0,不为0则连接到结果字符串里 {s=s+to_string(i);} cout<<s; return 0;
}

如果对你有帮助的话,麻烦给我点个赞哟,谢谢啦

如果有问题或者你有更好的解法,欢迎评论区留言,一起交流哇

更多题解
pat 乙级 题解汇总(持续更新)(C++)

pat 乙级 1023 组个最小数(C++)相关推荐

  1. [PAT乙级]1023 组个最小数

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

  2. PAT乙级 1023 组个最小数 (20 分)

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

  3. PAT乙级(1023 组个最小数)

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

  4. PAT 乙级 1023. 组个最小数 (20) Java版

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

  5. PAT乙级 1023 组个最小数

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

  6. C++学习之路 | PTA乙级—— 1023 组个最小数 (20分)(精简)

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

  7. PAT 1023 组个最小数 python

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

  8. 【PAT】Python 1023 组个最小数

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

  9. 1023 组个最小数(附详细注释,逻辑分析)

    写在前面 实现思路 整型数组存储数字出现次数,顺序表示我们拥有数字 0.数字 1.--数字 9 的个数 找出非0的第一个数字,次数减1 循环输出剩余数字 逻辑思想再次学习! 题目较简单,15分钟a题 ...

最新文章

  1. linux恢复设置文件夹,将.bashrc文件恢复到Ubuntu中的默认设置
  2. 20141016--for 菱形
  3. 在WinAPI环境下获得1小时前系统时间
  4. 专家答疑:在ERP系统中确保销售订单准确性
  5. [开发笔记]-判断当前是否联网
  6. linux 查看运行 job,如何通过Web查看job的运行情况
  7. C++基本控制类型及流程语句详解
  8. 谷歌云 重置_谷歌云游戏平台Stadia公布!支持大作随意畅玩
  9. 代码调试之-单步调试问题
  10. oracle基于脚本的安装失败,脚本建库导致 Oracle 组件未安装故障案例
  11. 感谢蜂窝教育,四个月的学习,让我改变了
  12. matlab opnet,opnet环境变量和matlab联调心得
  13. c语言pow函 新闻,c语言pow函数(C语言pow函数)
  14. 【工具网站推荐】文字转语音
  15. 关于域名的说法,一级,二级
  16. c语言第六章数组题库及详解答案,C语言第六章数组习题答案.doc
  17. 安全狗“老用户推荐新用户”有奖活动进行中 最高IPhone 4S手机
  18. 利用CSS设置文字的阴影效果
  19. SQL查询语句的使用
  20. 设计原则——接口隔离原则

热门文章

  1. 休眠:在sqlRestriction上使用联接表别名
  2. 功能项目拼图将Java 9引入
  3. datanucleus_DataNucleus 3.0与Hibernate 3.5
  4. Hazelcast入门指南第7部分
  5. 使用JAX-RS(Jersey)的HTTP状态错误消息响应中的自定义原因短语
  6. 如何自定义Hibernate脏检查机制
  7. JavaOne 2014 –有关提交的一些初步分析
  8. Java构建工具:Ant vs. Maven vs Gradle
  9. 使用带有注释和JQuery的Spring MVC 3的Ajax
  10. HH SaaS电商系统的线上服务商品库存和采购设计