在 APL 中,如何将整数或数字拆分为包含其数字的向量?最简洁(最短)的方法是什么?
您可以使用反函数Decode
以 10 为底:
10⊥⍣¯1⊢
since Decode
将接收所需数量的数字并对其进行解码,其逆函数将接收一个数字并将其编码为所需数量的数字,
或者,与⎕IO←0
,您可以尝试在数字向量中查找格式化数字的索引:
⎕D⍳⍕
两种解决方案的演示。 https://tio.run/##SyzI0U2pTMzJT9dNzkksLs5M/v8/7VHbBEODR11LH/UuPrTe8FHXIq5HfVM9/YHCBlzpQBLIc3nUu/lR71SgYgVDI2OuNAVTM3NjCyBtaGlhbGRmwpUOFk@HiqfDxAE
This is better than the uglier use of Encode
with custom length derived by shaping an array of 10 to the length of the log10 of the input:
{⍵⊤⍨10⍴⍨⌈10⍟1+⍵}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)