-->
当前位置:首页 > 题库 > 正文内容

7-18 删数问题 (10 分)

Luz4年前 (2021-03-05)题库1384
7-18 删数问题 (10 分)

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

输出新的正整数。(n不超过240位)

输入数据均不需判错。

输入格式:

n和s

输出格式:

最后剩下的最小数,注意前导0不要输出。

输入样例:

176438
4

输出样例:

在这里给出相应的输出。例如:

13
作者
严华云
单位
湖州师范学院
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<iostream>
#include<string.h>
using namespace std;
int main(){
	string a;
	int b;
	cin>>a>>b;
	for(int i=0;i<b;i++){
		char max=a[0];
		for(int j=0;j<a.length();j++){
			if(a[j]>a[j+1]){
				//cout<<a[j]<<endl;
				a=a.assign(a.c_str(),j)+a.substr(j+1);
				break;
			}
		}

	}
	for(int i=0;i<a.length();i++){
		//cout<<a[i]<<endl;
		if(a[i]=='0'){
			a=a.substr(i+1);
			i--;
			
		}
		else{
			break;
		}
	}
	cout<<a;
}


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。