#`'/¡R`Š©*+®'/ý
@MagicOctopusUrnのおかげで-2バイト。
オンラインそれを試してみたり、すべてのテストケースを確認してください。
説明:
#` # Split input by spaces and push all items to the stack
# i.e. "4 1/2" → "4" and "1/2"
'/¡ # Push the second item by "/"
# i.e. "1/2" → [1,2]
R` # Revert the list, and also push all items to the stack
# i.e. [1,2] → [2,1] → 2 and 1
Š # Triple-swap the stack
# [4,2,1] → [1,4,2]
© # Store the 2 in the register
* # Multiple the top two items
# 4 and 2 → 8
+ # Add the top two items
# 1 and 8 → 9
® # Push the 2 from the register to the stack again
'/ý # Join the two items by "/"
# 9 and 2 → "9/2"
柔軟な入力および出力フォーマットでは、整数を順序どおりに取り、x,z,y
分母と分母を別々の行に出力すると、4バイトになります(これが、チャレンジに解析タグを追加した理由です。):
*+²»
オンラインそれを試してみたり、すべてのテストケースを確認してください。
説明:
* # Multiply the first two inputs (x and z)
# i.e. 4 and 2 → 8
+ # Add the third input (y)
# i.e. 8 and 1 → 9
² # Take the second input again (z)
» # Join the stack by newlines and implicitly print it