letters.htm

Избранные места из переписки с друзьями 

Аркадий Климов      

     Задачка занятная, 

     Не удивительно, что здесь могла получиться рекурсивная программка типа

A {
 'a' e.1 = 'a' <A e.1>;
 'b' e.1 = 'b' <A e.1>;
 ...
 'z' e.1 = 'z' <A e.1>;
  =;
 }

     А то, что это потом свернулось в

* InputFormat: <A e.41 >
$ENTRY A {
 e.41  = e.41 ;
}

это уже  удивительно. Можешь прокомментировать это?

     А еще интересно, что будет, если применять шифр, скажем, 35 раз, а не 70.

     Наверно, лучшее, что можно было бы тогда надеяться получить - это

A {
 'y' e.1 = 'z' <A e.1>;
 'z' e.1 = 'y' <A e.1>;
 s.a e.1 = s.a <A e.1>;
  =;
 }

Получится?

 

Александр Корлюков

     Почему получилась функция из одного предложения - у меня у самого это вызвало удивление. Надо спрашивать Андрея Немытых. Я думаю, что проявилось одно из его последних нововведений.

 

Валентин Турчин

    Imenno tak. On proverjaet: na vykhode imeet li kazhdoe predlozhenie opredelennoe svojstvo; esli da, to vsja funkcija zamenjaetsja tozhdestvom. Svojstvo takoe: esli ubrat' activation brackets v pravoj chasti, to poluchitsja levaja chast'. I eto srabotalo.

Александр Корлюков 

     Если применять шифр 35 раз, то получается то, что ожидается - 

$ENTRY A {
  e.41  = <F147 e.41 > ;
  }
 
F147 {
   = ;
 'a' e.41  = 'a' <F147 e.41 > ;
 'b' e.41  = 'b' <F147 e.41 > ;
 'c' e.41  = 'c' <F147 e.41 > ;
 'd' e.41  = 'd' <F147 e.41 > ;
 'e' e.41  = 'e' <F147 e.41 > ;
 'f' e.41  = 'f' <F147 e.41 > ;
 'g' e.41  = 'g' <F147 e.41 > ;
 'h' e.41  = 'h' <F147 e.41 > ;
 'i' e.41  = 'i' <F147 e.41 > ;
 'j' e.41  = 'j' <F147 e.41 > ;
 'k' e.41  = 'k' <F147 e.41 > ;
 'l' e.41  = 'l' <F147 e.41 > ;
 'm' e.41  = 'm' <F147 e.41 > ;
 'n' e.41  = 'n' <F147 e.41 > ;
 'o' e.41  = 'o' <F147 e.41 > ;
 'p' e.41  = 'p' <F147 e.41 > ;
 'q' e.41  = 'q' <F147 e.41 > ;
 'r' e.41  = 'r' <F147 e.41 > ;
 's' e.41  = 's' <F147 e.41 > ;
 't' e.41  = 't' <F147 e.41 > ;
 'u' e.41  = 'u' <F147 e.41 > ;
 'v' e.41  = 'v' <F147 e.41 > ;
 'w' e.41  = 'w' <F147 e.41 > ;
 'x' e.41  = 'x' <F147 e.41 > ;
 'y' e.41  = 'z' <F147 e.41 > ;
 'z' e.41  = 'y' <F147 e.41 > ;
  s.171 e.41  = s.171 <F147 e.41 > ;
 }