> > > Найдешь преобразование, переводящее из А в С?
> > А чего придираться?
> ???
Сорри, слегка грубовато, но мне кажется очевидным, какую "транзитивность" имел ввиду я. Ну и понятно, что я не стал бы утверждать, что один переворот транзитивен в смысле твоего контрпримера.
>и ты поймешь, что это "свойство" абсолютно ничего не добавляет
ок, я согласен с некоторой аксиоматичностью этого свойства. Мне все же кажется, что так оно, все таки, нагляднее - можем из А получить канон., из В получить канон (=> по обратимости можем из канон. получить В), потому, по транзитивности, из А можем В.
Согласен, что транзитивность можно было при этом не упоминать.
Цитата(lapp @ 7.09.2006 23:58)

> плавающая единица образует две группы, одна из которых
> обязательно будет четной, а другая нечетной,
А почему это? Известно, что количество нулей сохраняется, и если оно изначально было четным, то будет четным и в конце. Соответственно, оно будет разбито на чет-чет или нечет-нечет..
Что я упустил?
Мы смотрим не на четность количества нулей, а на само количество нулей.
Для примера, рассмотрим все канонические битовые строки длины 10, в которых встречается ровно 4 единички. По ходу считаем для них наш инвариант I.
1111000000 -
<>1<>1
<>1<>1
<000000> - I = 6
1110100000 -
<>1<>1
<>1<0>1
<00000> - I = 5
1110010000 -
<>1<>1
<>1<00>1
<0000> - I = 4
1110001000 -
<>1<>1
<>1<000>1
<000> - I = 3
1110000100 -
<>1<>1
<>1<0000>1
<00> - I = 2
1110000010 -
<>1<>1
<>1<00000>1
<0> - I = 1
1110000001 -
<>1<>1
<>1<000000>1
<> - I = 0
Получается, что значение инварианта различно для всех возможных канонических строк.
Когда я говорил, что "плавающая единица образует две группы, одна из которых обязательно будет четной, а другая нечетной", я имел ввиду не количество нулей в группах, а порядковый номер групп.
Вообще, во всем решении, говоря о "нечетных" группах, я говорил о порядковом номере. Т.е. мы просто идем по строке слева направо, сладывая кол-во нулей в группах, и каждую вторую группу при этом игнорируем.
Тогда получается, что плавающая единица образует две группы - слева от нее, и справа от нее. И одну из них (например, левую) мы все время учитываем в сумме, а другую - нет. Левую, или правую - зависит от кол-ва единиц.