• В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О».
    Нужно вывести на экран все возможные слова, состоящие из K букв,
    в которых есть по крайней мере две одинаковые буквы,
    не обязательно стоящие рядом. Программа не должна строить другие слова,
    не соответствующие условию.

Ответы 1

  • const  ab = 'ышчо'; //алфавит племениvar  vort: string;  j, k, raz: integer;  per: boolean;//признак переноса разряда//проверка наличия совпадающих букв в слове function kond(var vort: string): boolean;var  n: integer;begin  result := false;  n := length(vort);  for var i := 1 to n - 1 do    for var j := i + 1 to n do      if vort[j] = vort[i] then      begin        result := true;        exit;      end;end;begin  writeln('Введите k');  readln(k);  for var i := 1 to k do    vort := vort + ab[1];  raz := k;  per := false;  while raz > 0 do    if per then    begin      while vort[raz] = ab[4] do      begin        vort[raz] := ab[1];        raz := raz - 1;        if raz < 1 then exit;      end;      j := pos(vort[raz], ab) + 1;      vort[raz] := ab[j];      per := false;      raz := k;    end      else    begin      if kond(vort) then writeln(vort);      j := pos(vort[k], ab) + 1;      if j > 4 then        per := true      else        vort[k] := ab[j];    end;end. 
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years