Description
键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。
Input
输入两个数字,分别为原始数n,要去掉的数字数s (s < n)。
Output
输出去掉s个数后最小的数
Sample
Input
178543 4
Output
13
#include<cstdio>
#include<cstring>
char a[1001];
int main()
{
int T,len;
scanf("%s %d",a,&T);
len=strlen(a);
while(T--)
{
int i=0;
while(a[i]<=a[i+1])
{
i++;
}
while(i<len-1)
{
a[i]=a[i+1];
i++;
}
len--;
}
for(int i=0; i<len; i++)
{
if(a[0]=='0'&&a[i]=='0'&&i<len-1)//i<len-1是为了考虑输入全部为0000000的情况,这种情况下i<len-1可输出一个0;
{
continue;
}
else
{
printf("%c",a[i]);
a[0]=0;
}
}
puts("");
return 0;
}