将整数转换为factoradic数字系统

factoradic的Python项目详细描述


factorial number system(也称为factoradic)是 将整数表示为阶乘的倍数之和。全部 整数在factoradic数系中有唯一的表示。 例如,数字1337可以表示为:

1*6! + 5*5! + 0*4! + 2*3! + 2*2! + 1*1! + 0*0!

系数为15 0 2 1 0。这是唯一的factoradic 十进制1337的表示。

factoradic数在组合数学中有用途,特别是在 排列的编号。这个factoradic库对于 在中转换为factoradic数字表示和从factoradic数字表示 python和命令行。

状态

https://travis-ci.org/rob-smallshire/factoradic.svg?branch=masterhttps://coveralls.io/repos/github/rob-smallshire/factoradic/badge.svg?branch=master

安装

python包索引(pypi)中提供了factoradic包:

https://badge.fury.io/py/factoradic.svg

该包仅支持Python3。要安装:

$ pip install factoradic

python接口

有关完整帮助:

>>> import factoradic
>>> help(factoradic)

同时,这里有一些亮点。

要从整数转换为factoradic,请使用to_factoradic()

>>> factoradic.to_factoradic(1337)
[0, 1, 2, 2, 0, 5, 1]

结果是系数列表,其中 基于零的索引给出一个位置值,该索引处的项是 系数乘以位置值。这个 元素从最不重要到最重要。自从 任何指数的系数必须小于或等于该指数, 索引0处的系数始终为0。

要从factoradic转换,请使用from_factoradic()

>>> factoradic.from_factoradic([0, 1, 2, 2, 0, 5, 1])
1337

命令行界面

还有一个方便的命令行界面。运行factoradic --help 查看命令列表:

$ factoradic --help
Factoradic.

Convert to and from the factorial number system.

Usage:
  factoradic from-integer <integer> [--expression]
  factoradic to-integer <coefficient-0> [<coefficient-1> [<coefficient-n>...]]

Options:
  -e --expression  Show as a mathematical expression.

要从整数转换为factoradic,请使用from-integer子命令:

$ factoradic from-integer 1729
0 1 0 0 2 2 2

系数从最低有效值报告到最高有效值。 将结果作为数学表达式查看,指定--expression标志:

$ factoradic from-integer 1729 --expression
2*6! + 2*5! + 2*4! + 0*3! + 0*2! + 1*1! + 0*0!

要从factoradic表示转换,请使用to-integer子命令, 指定从最低有效到最高有效的系数:

$ factoradic to-integer 0 1 0 0 2 2 2
1729

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java Android Studio从XML中洗牌2D数组列   安卓 rx java obsever pojo模型的变化   java如何在安卓应用程序中以编程方式打开google教室   java如何将充满令牌的对象[]转换为整数数组?   java Minify Maven插件抛出“不支持JavaScript引擎”错误   java如何检查调用应用程序的用户是否具有绑定特权端口的权限?   java无法向firestore发送数据   jpanel Java向ScrollPane中嵌入的面板添加JLabel   将Bash脚本移植到Java   JavaSpring显示错误消息   java如何为这些路径表达式编写正则表达式   java如何通过编程在Android手机上获得时间?   Java:捕获未检查的异常与已检查的异常