Pascal
Modified: Wednesday, 22-12-2021 07:00 AM
MinNum
Cho số nguyên dương N không quá 12000 chữ số và 1 dãy các "chữ số bị cấm"
Hãy tìm 1 dãy số nguyên dương M nhỏ nhất không chứa các chữ số bị cấm và M>N.
Input:
- Dòng 1: Dãy số bị cấm. Gồm các số trong phạm vi '0'..'9'
- Dòng 2: Số N
Output:
- Số M.
Ví dụ:
Input: Output:
1 2 4 30
12
var f:text;
sBan,sNum,sT:string;
i:integer;
t:char;
begin
assign(f,'MinNum.inp');
reset(f);
readln(f,sBan);
readln(f,sNum);
close(f);
sT:=sNum;
i:=1;
while i<=length(sT) do
begin
sT[i]:='0';
while (pos(sT[i],sBan)<>0) or (sT<=sNum) do
begin
if sT[i]='9' then
begin
sT[i]:='0';
if i=1 then
begin
insert('1',sNum,1);
sT:=sNum;
end
else
begin
dec(i);
sT[i]:=Succ(sT[i]);
end;
end
else
sT[i]:=Succ(sT[i]);
end;
inc(i);
end;
write(sT);
readln;
end.