|>I|
Çevrimiçi deneyin!
Ters deneyin!
Bu, boş bayt içermeyen girişler için geçerlidir.
açıklama
Vay be, bunları elle yazdığım noktaya geldim ...
Tam program |>I|I<|
.
| Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
> Move one stack over to the right (which only contains zeros).
I Does nothing on zero.
| Does nothing on zero.
I Does nothing on zero.
< Move back to the initial stack.
| Reverse the input once more.
Önceki zorluğun çözümünde olduğu gibi, orta komut |
hiçbir şey yapmaz, tüm program da öyle.
Daha sonra tersine çevrilmiş program olur |I>|<I|
.
| Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
I Move the -1 one stack to the left and turn it into a +1.
> Move back to the initial stack.
| Reverse it again, but this time without the EOF marker.
< Move back to the left.
I Move the +1 back onto the initial stack and turn it into a -1 again.
| Reverse the entire stack. We now have the -1 as an EOF marker again at the bottom
and the rest of the stack has been reversed three times, i.e. one net reversal.
İlginç bir şekilde, bu geri dönüş programını -m
hala bu sefer çalışan bir çözüm elde etmeden kullanırsak , atlamanın neden olduğu tek ek bayt -m
, kodu yansıtmaktan elde ettiğimiz baytlardır .
|I<|>I|
Çevrimiçi deneyin!
Ters deneyin!
açıklama
Bu programın ters çevrilmiş sürümü, |I>|<I|
yukarıdakiyle aynıdır, bu yüzden bunu göz ardı edebiliriz. Ancak tersine çevrilmemiş versiyon farklıdır. Yana <>
şimdi diğer yolu gösterecek programı bir kedi haline gelmesi, merkez komutu, hiçbir şey yapmadan biter:
| Reverse the entire stack down to the EOF marker -1 (since there are no zeros in the input).
I Move the -1 one stack to the left and turn it into a +1.
< Move another stack to the left, which contains only zeros.
| Does nothing on zero.
Ve böylece, >I|
programın ilk yarısını tam olarak geri alın.