No.18 うーさー暗号

brainfuck向きの問題。 ひとつ気を付ける点があって、何文字目であるかのカウンタをoverflowさせるとwaが生える。

>>>>>
,----------[ while not newline
    >+++++++++[<------>-]< a is one
    <<<
        + inc counter
        <<+++++[>+++++<-]>+> set 26
        [>+<-]>[<+<->>-]< calc difference between 26
        <<+>[<[-]>-]> negate
        <<[- if overflow
            >>[-]<< set 0
        ]>>
        [>+>+<<-]>[<+>-]>> dup counter
    <[ counter times do
        >- decr
        [>+>+<<-]>[<+>-]+>[<[-]>-]<< calc is zero
        >[- if underflow
            +++++[<+++++>-]<+> set z 26
        ]<
        <
    -]>
    >++++++++[<++++++++>-]< add a
    .
,----------]
++++++++++.