pascal 删数问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 11:42:56
【题目描述】
给定一正整数n(n的位数小于240),现要删除数n中的s个数码,使其得到的新数最小,求这个最小数。

【输入格式】
输入有两行,第一行为整数n,第二行即为s
【样例输入】
32768
2

【输出格式】
输出一行,即最小的那个数,若最高位为0,则不需清除高位的0,直接输出即可.

【样例输出】
268

program ex(input,output);
var
ss:string;
a:array[0..1000] of longint;
s,p,q,l,i,j,min:longint;
begin
readln(ss,s);
l:=length(ss);
for i:=1 to l do a[i]:=ord(ss[i])-ord('0');
a[0]:=maxlongint;
p:=1;q:=l-s;
for i:=1 to l-s do
begin
min:=0;
for j:=p to q do
if a[j]<a[min] then min:=j;
write(a[min]);p:=min+1;q:=s+i+1;
end;
end.