PAT (Basic Level) Practise (中文) 1023. 组个最小数 (20)
1023. 组个最小数 (20)
给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。
现给定数字,请编写程序输出能够组成的最小的数。
输入格式:
每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空格分隔。10个数字的总个数不超过50,且至少拥有1个非0的数字。
输出格式:
在一行中输出能够组成的最小的数。
输入样例:
2 2 0 0 0 3 0 0 1 0
输出样例:
10015558
解题思路:·利用数组a[0],..a[9]储存0...9数字出现的次数
·首先组成的数字首位不能为零,同时要求数字最小,即输出最小的非零数,同时将该数的次数减一
·输出所有的“0”。
·从1开始从小到大按其次数输出所有数字
#include <iostream>
using namespace std; int main()
{
int a[10], i, j;
for ( i=0; i<10; i++ )
cin >> a[i];//a[i]记录0至9出现的次数
for ( i=1; i<10; i++ )//输出最小的非零数
if ( a[i] )
{
cout << i;//输出后次数减一并终止循环
a[i]--;
break;
}
for ( i=0; i<a[0]; i++ )
cout << "0";//输出所有零
for ( i=1; i<10; i++ )
for ( j=0; j<a[i]; j++ )
cout << i;//从小到大按其次数输出所有
cout << endl;
return 0;
}
PAT (Basic Level) Practise (中文) 1023. 组个最小数 (20)的更多相关文章
- PAT (Basic Level) Practise:1023. 组个最小数
		[题目链接] 给定数字0-9各若干个.你可以以任意顺序排列这些数字,但必须全部使用.目标是使得最后得到的数尽可能小(注意0不能做首位).例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是 ... 
- PAT (Basic Level) Practise (中文)-1035. 插入与归并(25)
		PAT (Basic Level) Practise (中文)-1035. 插入与归并(25) http://www.patest.cn/contests/pat-b-practise/1035 ... 
- PAT (Basic Level) Practise (中文)-1039. 到底买不买(20)
		PAT (Basic Level) Practise (中文)-1039. 到底买不买(20) http://www.patest.cn/contests/pat-b-practise/1039 小红 ... 
- PAT (Basic Level) Practise (中文)-  1022. D进制的A+B (20)
		PAT (Basic Level) Practise (中文)- 1022. D进制的A+B (20) http://www.patest.cn/contests/pat-b-practise/1 ... 
- PAT (Basic Level) Practise (中文)- 1024. 科学计数法 (20)
		PAT (Basic Level) Practise (中文)- 1024. 科学计数法 (20) http://www.patest.cn/contests/pat-b-practise/1024 ... 
- PAT (Basic Level) Practise (中文)-1025. 反转链表 (25)
		PAT (Basic Level) Practise (中文)-1025. 反转链表 (25) http://www.patest.cn/contests/pat-b-practise/1025 ... 
- PAT (Basic Level) Practise (中文)- 1026. 程序运行时间(15)
		PAT (Basic Level) Practise (中文)- 1026. 程序运行时间(15) http://www.patest.cn/contests/pat-b-practise/10 ... 
- PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20)
		PAT (Basic Level) Practise (中文)-1027. 打印沙漏(20) http://www.patest.cn/contests/pat-b-practise/1027 本题 ... 
- PAT (Basic Level) Practise (中文)-1028. 人口普查(20)
		PAT (Basic Level) Practise (中文)-1028. 人口普查(20) http://www.patest.cn/contests/pat-b-practise/1028 某 ... 
随机推荐
- 安装Dubbo注册中心(Zookeeper-3.4.6)
			样例视频教程:http://www.roncoo.com/course/view/f614343765bc4aac8597c6d8b38f06fd Dubbo建议使用Zookeeper作为服务的注册中 ... 
- 【LeetCode】152. Maximum Product Subarray
			题目: Find the contiguous subarray within an array (containing at least one number) which has the larg ... 
- 传输层socket通讯之java实现
			使用流套接字来示例一个客户/服务器的应用.客户端的应用连接到服务器上面,服务端的应用发送数据到客户端,然后客户将收到的数据显示出来. 服务端代码: package socket; import jav ... 
- RandomAccessFile乱码问题
			转自:http://www.cnblogs.com/xudong-bupt/archive/2013/04/20/3028980.html Thanks Java对文件的读.写随机访问,Ran ... 
- FFT/NTT 多项式学习笔记
			FFT(快速傅立叶变换)和NTT(快速数论变换)看上去很高端,真正搞懂了就很simple了辣. 首先给出多项式的一些定义(初中数学内容): 形如Σaixi的式子就是多项式! 多项式中每个单项式叫做多项 ... 
- htm5拖放和画布
			拖放 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. 首先,为了使元素可拖动,把 draggable 属性设置为 true ondr ... 
- 6位密码框js
			!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content=&quo ... 
- pouchdb-find( pouchdb查询扩展插件 ,便于查询)
			pouchdb-find pouchdb-find 环境搭建 下载lib bower install pouchdb-find 引入js <script src="pouchdb.js ... 
- TSC打印机使用教程终极版
			最近公司做一个资产采集的项目,之前做过此类项目,不过没有整理资料,借这次机会写一下,做个记录. 本教程使用的打印机型号:TSC TTP-244 Plus 官方文档 一.TSC打印机安装 1.机 ... 
- 在两个ASP.NET页面之间传递变量【转】
			ASP.NET提供了事件驱动编程模型,使开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,在传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递变量,同样的事情,在 ... 
