Advertisement

每日一题(第40题):求最小的数字组合

阅读量:

题目:

时间约束
100 ms
内存约束
65536 kB
代码长度约束
8000 B
提供若干个数字0至9,可按任意顺序进行排列,但需全部使用。最终所形成的数值应尽可能小(需注意的是,0不能作为起始数字)。例如:若拥有两个0、两个1、三个5以及一个8,则能够构成的最小数值为10015558。

代码:

复制代码
 # include <iostream>

    
 #include"string"
    
 using namespace std;
    
 int main()
    
 {
    
 	static int counter[10];//设置计数器
    
 	int i;
    
  
    
 	for(i=0;i<10;i++)
    
 		cin>>counter[i];
    
  
    
 	//考虑存在‘0’的情况
    
 	i=1;
    
 	string s;
    
 	if(counter[0]){
    
 		while(counter[i]==0&&i<10)
    
 			i++;
    
 		if(i==10){//只有‘0’的情况
    
 			s+='0';
    
 			return 0;
    
 		}
    

全部评论 (0)

还没有任何评论哟~