Составить из имеющихся четных цифр максимальное число, читающееся одинаково слева направо и наоборот - Pascal

Формулировка задачи:

На вход подается набор символов, оканчивающийся точкой. Количество символов не превышает 200. Составить из имеющихся в тексте четных цифр максимальное число, которое читается одинаково как слева направо, так и справа налево. Все цифры можно не использовать; незначащих нулей в числе не должно быть. Если требуемое число составить нельзя, то вывести строку «NO»; если можно, то в первой строке вывести строку «YES», а во второй — строку, изображающую найденное число.

Код к задаче: «Составить из имеющихся четных цифр максимальное число, читающееся одинаково слева направо и наоборот - Pascal»

textual
var s,s1:string;
    c:char;
    i,k,j:byte;
begin
readln(s);
s1:='';
for c:='0' to '9' do
if ord(c)mod 2=0 then
 begin
  k:=0;
  for i:=1 to length(s) do
  if s[i]=c then k:=k+1;
  writeln(c,'=',k);
  if k>0 then
   begin
    if s1='' then  for j:=1 to k do s1:=s1+c
    else if(length(s1)=1)and(k=1)and(c>s1[1])then s1:=c
    else for j:=1 to k div 2 do
     begin
      insert(c,s1,1);
      insert(c,s1,length(s)+1);
     end;
   end;
 end;
if s1='' then write('NO')
else write(s1);
end.

9   голосов, оценка 3.667 из 5


СОХРАНИТЬ ССЫЛКУ