zoukankan      html  css  js  c++  java
  • P1106 删数问题

    题目描述

    键盘输入一个高精度的正整数N,去掉其中任意k个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和k,寻找一种方案使得剩下的数字组成的新数最小。

    输出应包括所去掉的数字的位置和组成的新的正整数。(N不超过250位) 输入数据均不需判错。

    输入输出格式

    输入格式:

    n (高精度的正整数)

    k (需要删除的数字个数)

    输出格式:

    最后剩下的最小数。

    输入输出样例

    输入样例#1:
    175438 
    4
    
    输出样例#1:
    13
    代码输入::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    #include<iostream>
    #include<cstring>
    using namespace std;
    int le;
    char n[255];
    void del(int k)
    {
        int i;
        for (i=k+1;i<=le-1;i++) n[i-1]=n[i];
        le--;
    }
    int main()
    {
        int i,s;
        cin>>n;
        cin>>s;
        le=strlen(n);
        while (s>0)
        {
            i=0;
            while (i<le-1&&n[i]<=n[i+1]) i++;
            del(i);
            s--;
            }
        while (le>1&&n[0]=='0') del(0);
        for (i=0;i<=le-1;i++) cout<<n[i];
        cout<<endl;
        return 0;
    }
  • 相关阅读:
    项目管理和项目群管理的区别
    项目群管理
    PRINCE2如何完善PMBOK和您的PMP资格证书?
    为什么需要prince2项目管理方法论?
    PMP和PRINCE2到底有什么区别?哪个含金量更高?
    同步和异步
    Promise理解
    async和await实现异步的同步等待
    Mysql数据库操作基础步骤
    PHP和javascript区别
  • 原文地址:https://www.cnblogs.com/suibingchen/p/6795294.html
Copyright © 2011-2022 走看看