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

分析: 首先列出0~9所有数字,如 输入 2 2 0 0 0 3 0 0 1 0 时,应列出 0 0 1 1 5 5 5 8 ,对列出的数字从小到大排序,从左到右,找出第一个不为0的数,作为最小数的首位,将剩下的数依次输出。

代码:

 #include<stdio.h>

 void fun(int *arr2,int t)
{
int i,j;
int index=;
int temp;
for(i=;i<t-;i++)
{
index=i;
temp=arr2[i];
for(j=i+;j<t;j++)
{
if(arr2[j]<=arr2[index]) index=j;
}
arr2[i]=arr2[index];
arr2[index]=temp;
}
} void printfun(int *arr2,int n)
{
int min=;
int i;
for(i=;i<n;i++)
{
if(arr2[i]!=)
{
// min=arr2[i];
printf("%d",arr2[i]);
arr2[i]=-;
break;
}
}
for(i=;i<n;i++)
{
if(arr2[i]>=&&arr2[i]<=)
{
// min=min*10+arr2[i];
printf("%d",arr2[i]);
}
}
// printf("%d\n",min);
printf("\n");
}
int main()
{
int arr1[];
int arr2[];
int t=;
int i;
int sum=;
int l=;
for(i=;i<;i++)
{
scanf("%d",&arr1[i]);
sum+=arr1[i];
}
if(sum>&&(sum-arr1[]<=))return ;
else{
int j;
for(i=;i<;i++)
{
for(j=;j<=arr1[i];j++)
{
arr2[t++]=i;
}
}
fun(&arr2,t); //排序
printfun(&arr2,t); //组最小数
return ;
} }

最新文章

  1. android 启动模式介绍
  2. 【转】iOS动态库和静态库的简要介绍
  3. C# IComparable接口、IComparer接口和CompareTo(Object x)方法、Compare()方法
  4. [CORS:跨域资源共享] 同源策略与JSONP
  5. Spark源码学习1.7——Master.scala
  6. 除法取模练习(51nod 1119 &amp; 1013 )
  7. android用欢迎界面加载运行环境
  8. SVN中取消冲突conflict
  9. HTML基本操作
  10. 【转】linux /usr/bin/ld cannot find 解决
  11. pb_ds(平板电视)整理
  12. String类的常见面试题(3)
  13. 用git上传本地文件到github
  14. Thrift序列化与反序列化
  15. js 判断浏览器型号
  16. MySQL MHA 报错处理
  17. Spring开发 - 通过实现ApplicationContextAware在Servlet中调用注解的Service
  18. poj2528(线段树+区间离散)
  19. Django popup示例
  20. OSGi 系列(二)之 Hello World

热门文章

  1. fiddler基本功能介绍
  2. mybatis查询语句的背后
  3. Metasploit学习记录---Nessus安装部署
  4. 一道dfs和dp结合的好题 --- Longest Run on a SnowboardUVA-10285
  5. Spring MVC工作流程
  6. js 把 json 转为以 ‘&amp;’ 连接的字符串
  7. 关于ajax 返回值验证问题
  8. c++11 线程池
  9. Java_String
  10. python全栈开发 * background 定位 z-index * 180813