刪數問題

完整程序:

#include<bits/stdc++.h>
using namespace std;
//刪數問題的貪心算法實現
int main(){
string a;//n位數a
int k;
cout<<"請輸入數以及要刪除的位數"<<endl;
cin>>a>>k;
//如果k≥n,數字被刪完了
if(k>=a.size())a.erase();
else while(k>0)
{
//尋找最近下降點
int i;
for(i=0;(i<a.size()-1)&&(a[i]<= a[i+1]);++i);
a.erase(i,1);//刪除xi
k--;
}
//刪除前導數字0
while(a.size()>1&&a[0]=='0')
a.erase(0,1);
cout<<a<<endl;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章