【来源】
【分析】
本题给出0-9各个数字的个数,要组成一个最小数。算法很简单,要注意的是首位不能为零,因此需要先找出最小的非零数字作为首位,然后从小到大排列数字。
【代码】
#include <iostream>
using namespace std;
int main()
{
int nums[10];
for(int i = 0; i < 10; ++i){
cin >> nums[i];
}
int i;
for(i = 1; i < 10; ++i){
if(nums[i]>0){
--nums[i];
break;
}
}
if(i < 10){
cout << i;
}
for(int i = 0; i < 10; ++i){
for(int j = 0; j < nums[i]; ++j){
cout << i;
}
}
cout << endl;
return 0;
}
【点评】
此题为2014.3.1PAT春季考试第三题。为简单题。