我试图用二进制形式计算由P数1和0表示的数字的数量.如果P = 2,则表示的数字是0011,1100,0110,0101,1001,1010,因此计数为6.
我试过了:
[0,0,1,1].permutation.to_a.uniq
Run Code Online (Sandbox Code Playgroud)
但它不是大数字的最佳解决方案(P可以<= 30).
什么是最好的排列技术,还是我们有任何直接的数学来做到这一点?
我一直在寻找将.01或-.01转换为0.01或-0.01的最佳方法.当我想将小数转换为字符时,这是必需的.
在用EDITW和EDITC搜索了很多之后我最终得到了以下代码.
D Sales S 9S 2
D Net_Sales S 10A
// Sales variable may contain positive or negative amount
If Sales >= 0
Net_Sales = %Trim(%Xlate(' ':'0': %EditC(Sales:'3'):7)) ;
Else
Net_Sales = '-' + %Trim(%Xlate(' ':'0': %EditC(Sales:'3'):7))
EndIf
Run Code Online (Sandbox Code Playgroud)
这适用于所有情况,但有些我不相信.不小心我注意到标题规范DECEDIT
H DECEDIT('0.')
这将是我最好的替代要求还是我们还有其他什么?
在此先感谢您的帮助!