olechka197835
?>

Вводится одна строка, каждая буква которой представляет собой результат одного броска монетки — «о» обозначает орла, «р» обозначает решку. программа должна вывести максимальное количество орлов, выпавших подряд. всё напечатать на питоне

Информатика

Ответы

rinata542
S = input("s = ")
l=len(s)
while s.find('о'*l)==-1:
    l = l-1
if l>0: print(l)
else: print('Нет орлов')

Пример:
s = 
ророророррророр
5
kosbart28

ответ:это метасимволы

Объяснение:

Для каждого понятия языка должна существовать единственная мета-

формула, в левой части которой указывается определяемое понятие, т.е.

метапеременная языка БНФ, а правая часть формулы тем или иным

бом задает все множество значений этой метапеременной, т.е. все допусти-

мые конструкции, которые объединяются в это понятие. Для большей

наглядности все понятия (метапеременные) обычно заключаются в спе-

циальные угловые скобки " < " и " > " (предполагается, что эти скобки не

принадлежат алфавиту определяемого языка, т.е. являются метасимвола-

ми), например (число), <арифметическое выражение) и т.д.

tatianamatsimoh
{
Если что, часть программы не нужна для построения цепочки. Она просто иллюстрирует, что полученный результат верен.
}

var
 sq : array[0..999] of array[0..9] of boolean;
 co : array[0..999] of integer;
 ar : array[1..10003] of 0..9;
  i,j: integer;
 x: integer;
 t : boolean;
 begin
 for i := 0 to 999 do
   begin
   for j := 0 to 9 do
   sq[i][j] := false;
   co[i] := 0;
   end;
 for i := 1 to 3 do
   ar[i] := 0;
 i := 3;
 t := true;
 {write('000');}
 while t do
   begin
   i := i + 1;
   x := ar[i-3]*100 + ar[i-2]*10 + ar[i-1];
   if co[x] >= 10 then t := false
     else
     begin
     j := 1;
     while sq[x][j] do 
       j := (j + 1) mod 10;
     ar[i] := j;
     sq[x][j] := true;
     co[x] := co[x] + 1;
     {write(j)}
     end;
   end;
 {writeln;}
 writeln('Length: ',i - 1);

 {просто чтобы убедиться}
 for i := 0 to 999 do
   for j := 0 to 9 do
   sq[i][j] := false;

  t := true;
 j := 0;
 i := 1;
 while (i <= 10000) and t do
   begin
   x := ar[i] * 100 + ar[i+1] * 10 + ar[i+2];
   if sq[x][ar[i+3]] then t := false
     else
     begin
     sq[x][ar[i+3]] := true;
     j := j + 1;
     end;
   i := i + 1
   end;
 if t and (j = 10000) then
   write('Confirmed')
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вводится одна строка, каждая буква которой представляет собой результат одного броска монетки — «о» обозначает орла, «р» обозначает решку. программа должна вывести максимальное количество орлов, выпавших подряд. всё напечатать на питоне
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

suhanowaswetlana
Татьяна902
delena6467
serkinn69
Sofinskaya1185
myxa120283
Марина555
de1979nis
strannaya2018
suhanowaswetlana
Людмила Анна
Gera8061
chermen40
mkrtchyananaida6995
komplekt7