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;
        
    }
  • 相关阅读:
    台湾9大知名开源社区
    使用SignalR打造消息总线
    ENode 2.0
    Wireshark基本介绍和学习TCP三次握手 专题
    linux tomcat 的安装
    linux 之静默安装oracle
    什么是全栈呢(转)
    Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建(转)
    hdu 4919 Exclusive or
    D
  • 原文地址:https://www.cnblogs.com/wshyj/p/6292456.html
Copyright © 2011-2022 走看看