例如: 8314925去掉4个数,留下125最小,注意有前后顺序要求,要是没有顺序当然是123。
方法看图片,从前往后找,每次访问一位,比较该位前边的数,如果比该位大,果断干掉,可以使用栈来完成此操作
程序实现:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int n,k;
cout<<"请输入位数n和k"<<endl;
cin>>n>>k;
//构造n位数
int *num = new int[n];
srand(time(NULL));
for(int i=0; i<n; i++)
{
num[i] = rand()%10;
}
//输出n位数
cout<<"输出原数字"<<endl;
for(int i=0; i<n; i++)
{
cout<<num[i];
}
//对n位数进行操作
int *temp = new int[n];
int rear=0,count=0; //count表示去掉数的个数