Язык последовательностей 0 и 1 с разделителем посередине. Сумма чисел слева и справа от разделителя одинакова и не превышает 2.
Примеры правильных записей:
00100010|11000000 01000|00001 00|00

Мое:
Грамматика:
T={0,1,|}

S={Счастливый билет}

Правила:1
1)<Счастливый билет>:=<Счастливый билет><цифра><Счастливый билет><Разделитель><Счастливый билет><цифра>

2)<цифра>:={0,1}

3)<Разделитель>:={|}

Правильно ли заданы правила языка?

задан 17 Ноя '14 23:57

изменен 18 Ноя '14 10:36

%D0%92%D0%B8%D1%82%D0%B0%D0%BB%D0%B8%D0%BD%D0%B0's gravatar image


9917

А как у Вас при этом учитывается то, что единиц справа и слева одинаковое количество, и при этом не более двух? По-моему, при таких правилах войдёт много чего лишнего. Скажем, 11111|11111.

(18 Ноя '14 0:19) falcao

Получается, 0 и 1 выписывать в разные правила?

(18 Ноя '14 0:38) Dashka64
1

Тут нужно нечто типа счётчика единиц. Я бы сделал так, что при окружении S единицами происходит замена S на новый символ, а потом ещё раз на новый. Дальше окружать можно уже только нулями. Тут ещё существенно, разрешены ли вещи типа 100|00001, когда длина слева и справа не одинаковая. В условии это вроде как допускается, но в примерах длина везде одна и та же.

(18 Ноя '14 1:07) falcao
10|600 символов нужно символов осталось
0

Можно сделать, например, так:

$%S\mapsto S\space S\vee 1A1\vee 0S\vee S0\vee 0|0$%

$%A\mapsto 1B1\vee A0\vee 0A\vee |$%

$%B\mapsto B0\vee 0B\vee |$%

Тогда слева и справа от каждого штриха будет непусто, а единиц не более 2 и поровну. Вот только в качестве терминального символа обязательно нужен ещё и пробел, если я правильно понял.

ссылка

отвечен 18 Ноя '14 0:59

изменен 18 Ноя '14 1:02

Спасибо!!!

(18 Ноя '14 1:21) Dashka64

А для чего нужен пробел?

(22 Ноя '14 19:31) Dashka64

Как я понял, в итоге нужно получить последовательность пар строк из 0 и 1, отделённых вертикальной чертой. Чтобы перейти к следующей паре, и нужен пробел (ну, в записи строки в условии есть пробелы).

(22 Ноя '14 23:32) trongsund
10|600 символов нужно символов осталось
Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×2,206

задан
17 Ноя '14 23:57

показан
856 раз

обновлен
22 Ноя '14 23:32

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru