pat 乙级 1023. 组个最小数 (20)

来源:互联网 发布:2015中国国际储备数据 编辑:程序博客网 时间:2024/06/02 07:19


思路: 

由于给出的10 数代表0-9 每个数字的个数 ,

所以这里考虑 先找出最小的非0  且个数不为0 的数,先输出 一个 ,其个数减1,然后 把剩余的个数不为0 的数字从小到大依次输出 即可


#include <stdio.h>#include <iostream>#include <cstdlib>#include <cmath>#include <cctype>#include <string>#include <cstring>#include <algorithm>#include <ctime>using namespace std;int num[10];int main() {for (int i=0;i<10;i++) {cin>>num[i];}int p=0;for (int i=1;i<10;i++) {if (num[i]!=0) {p=i;break;      //找出第一个非0 且个数不为0的数 就是要输出的第一位数字}}cout<<p;      // 输出 num[p]=num[p]-1;// 个数减一 for(int i=0;i<10;i++) {if (num[i]!=0) {for (int j=0;j<num[i];j++) {cout<<i;}}} return 0;}



原创粉丝点击