Rastergröße 6 (91 Bytes)
? { 2 . . <
/ = { * = \ "
. & . . . { _ '
. . { . . } ' * 2
_ } { / . } & . ! "
. > % . . < | . . @ |
\ . . \ . | ~ . . 3
. . " . } . " . "
. & . \ = & / 1
\ = { : = } .
[ = { { { <
Kompakte Version
?{2..</={*=\".&...{_'..{..}'*2_}{/.}&.!".>%..<|..@|\..\.|~..3..".}.".".&.\=&/1\={:=}.[={{{<
Rastergröße 7 (112 Bytes)
? { 2 " ' 2 <
/ { * \ / : \ "
. = . = . = | . 3
/ & / { . . } { . "
. > $ } { { } / = . 1
_ . . } . . _ . . & . {
. > % < . . ~ & . . " . |
| . . } - " . ' . @ | {
. . . = & . . * ! . {
. . . _ . . . _ . =
> 1 . . . . . < [
. . . . . . . .
. . . . . . .
Probieren Sie es online!
Kompakte Version:
?{2"'2</{*\/:\".=.=.=|.3/&/{..}{.".>$}{{}/=.1_..}.._..&.{.>%<..~&..".||..}-".'.@|{...=&..*!.{..._..._.=>1.....<[
Ungolfed Version für bessere Lesbarkeit:
Ungefähre Speicheranordnung
Gray Path (Speicherinitialisierung)
? Read input as integer (Input)
{ Move to memory edge "Divisor left"
2 Set current memory edge to 2
" ' Move to memory edge "Divisor right"
2 Set current memory edge to 2
" Move to memory edge "Multiplier"
3 Set current memory edge to 3
" Move to memory edge "Temp 2"
1 Set current memory edge to 1
{ { { Move to memory edge "Modulo"
= Turn memory pointer around
[ Continue with next instruction pointer
Loop-Eintrag
% Set "Modulo" to Input mod Divisor
< Branch depending on result
Grüner Pfad (Wert ist noch durch 2 teilbar)
} } { Move to memory edge "Result"
= Turn memory pointer around
* Set "Result" to "Temp 2" times "Multiplier" (3)
{ = & Copy "Result" into "Temp2"
{ { } } = Move to "Temp"
: Set "Temp" to Input / Divisor (2)
{ = & Copy "Temp" back to "Input"
" Move back to "Modulo"
Roter Pfad (Wert ist nicht mehr teilbar durch 2)
} = & " ~ & ' Drag what's left of "Input" along to "Multiplier"
* Multiply "Multiplier" with "Temp 2"
! @ Output result, exit program