问题描述:给定n位正整数a,去掉其中任意k<=n个数字后,剩下的数字按原次序排列组成一个新的正整数,对于给定的n位正整数a和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。
对于给定的正整数a,编程计算删去k个数字后得到的最小数。
输入:多组测试数据,每组测试数据的第一行是1个正整数a(a<10^100),第二行是正整数k(k<1000)
输出:删掉个数字后的最小数,每组测试数据输出单独一行,如果首位数字为0,删除首位数字。
#include <stdio.h>
#define MAX 10000000
int num[MAX];
//返回删除的位置
int deleteNum(int a[],int n)
{
int i,j;
for(i=n-1,j=i-1;i>0;i--)
{
//printf("\n%d %d",a[i],a[j]);
if(a[i]>a[j])
{
//printf("\n%d\n",i);
return i;
}
else j--;
}
ret