首先我找到了 /?¨?(!8),它給了我結果 9。但是如果我這樣做了100!,因為數字很大,我無法得到那個。
隨著?¨?(!100)我得到一個語法錯誤:?SYNTAX ERROR
有沒有其他方法可以解決這個問題,或者你能建議我做一些修改嗎?
uj5u.com熱心網友回復:
!100 是一個很大的數字,當你格式化它的結果時,你會得到一個用 E 表示法表示數字的字串。
?!100→ '9.332621544E157',當您嘗試 eval ( ?) 每個字符時,您遇到了語法錯誤,因為 E 沒有意義。
有兩種方法可以將一個大整數拆分為它的數字:
首先使用逆解碼,示例可以在APLcart上找到
10⊥?ˉ1!100
然而,這容易受到浮點不精確的影響。
第二個也是首選的選項是使用 dfns 庫中的 big ,可以使用 quad 函式匯入CY。
'big'?CY'dfns'
這里的例子
謝天謝地,最后一個例子涵蓋了你的確切情況!因子 100 是↑×big/?100
該問題的最終解決方案可能如下所示:
/?¨↑×big/?100
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/362853.html
上一篇:用C 實作矩陣運算
