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

7-18 删数问题 (10 分)

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

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

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

输入数据均不需判错。

输入格式:

n和s

输出格式:

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

输入样例:

  1. 176438
  2. 4

输出样例:

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

  1. 13
作者
严华云
单位
湖州师范学院
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
  1. #include<iostream>
  2. #include<string.h>
  3. using namespace std;
  4. int main(){
  5. string a;
  6. int b;
  7. cin>>a>>b;
  8. for(int i=0;i<b;i++){
  9. char max=a[0];
  10. for(int j=0;j<a.length();j++){
  11. if(a[j]>a[j+1]){
  12. //cout<<a[j]<<endl;
  13. a=a.assign(a.c_str(),j)+a.substr(j+1);
  14. break;
  15. }
  16. }
  17.  
  18. }
  19. for(int i=0;i<a.length();i++){
  20. //cout<<a[i]<<endl;
  21. if(a[i]=='0'){
  22. a=a.substr(i+1);
  23. i--;
  24. }
  25. else{
  26. break;
  27. }
  28. }
  29. cout<<a;
  30. }

发表评论

访客

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