Comment detail

与えられた数字のケタ数 (Nested Flatten)

dcのマクロで。投稿のマクロを入力後、例えば次のように入力するとスタックのトップ二つに結果がプッシュされているのが見える。

2469 ldxf

入力は負の数でも良い。dcでは負数はマイナス記号ではなくアンダースコアで指定する。

_34567 ldxf
1
[_1*]sn[Ll10r^q]sq[d10>q10/Ll1+sllax]sa[d0>n0sllax]sd

いまごろだが問題を読み違えていたことに気付いたので訂正(一行目)。前のマクロでは位と最高位の数字を取り出していた。また、その目的だったとしても前の投稿は冗長だったので短かくしたものをついでに(二行目)。以下は実行例。数字のみの行は出力。

2469 ldxf
1000
4
c
_34567 ldxf
10000
5
c
2469 lcxf
1000
2

言語一覧へのdcの追加ありがとうございます。

1
2
[Zd1-10r^]sd
[_1*]ss[d0>sdZ1-10r^Sxlx/Lx]sc

Index

Feed

Other

Link

Pathtraq

loading...