zoukankan      html  css  js  c++  java
  • PAT1023

    给定数字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
    
    # include<iostream>
    # include<algorithm>
    # include<stdio.h>
    # include<string>
    using namespace std;
    int main()
    {
        int a[10],i,j,h=0;
        int s[100];
        for(i=0;i<10;i++)
        {
               cin>>a[i];
               for(j=0;j<a[i];j++)   //将题目给的条件进行转化 以从小到大的顺序将0到9存入数组s
               {
                    s[h] = i;
                    h++;
           }
        }
        for(i=0;i<h;i++)       
        {
               if(s[i]!=0)  //将第一个非0的数与第一个0交换 得到的就是最小数
               {
                     int t;
                t = s[0];s[0]=s[i];s[i]=t; 
                break;     
           }
        }
        for(i=0;i<h;i++)
        {
               cout<<s[i];
        }
        return 0;
        
    }
  • 相关阅读:
    继百岁版之后的续命版的更新
    重启nginx
    酒吧流行游戏不完全手册
    google实时搜索
    ubuntu 支持gbk
    网页编码
    爬虫日志分析
    feedsky 话题 营销
    python时间日期格式转换
    nginx错误重定向
  • 原文地址:https://www.cnblogs.com/wshyj/p/6292456.html
Copyright © 2011-2022 走看看