将整数转换为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如何提高我的软件项目的速度?   java将Jetty嵌入JavaSE项目   数组中的java重复字符   java我的Shell排序没有按预期工作,我需要一些帮助来找出我做错了什么   java如何在JBoss EAP6/AS7中应用先过滤后安全约束   java使用一个随机运算符来处理多个变量   java为什么我不能在文件中写我的二叉树?   java应用程序不会在Eclipse emulator上运行   我第一次尝试制作一个简单的基于瓷砖的java游戏   java为TermVectors安装Solr修补程序   java无法将更新的对象值从客户端发送到服务器,服务器读取不存在的值   Azure,java sdk,使用ARM模板部署无法转换参数文件   是否有一个Java等价于空合并运算符(?)在C#?   java如果只初始化了超类对象,是否可以调用特定于子类的方法?   向类文件传递值时出现java NullPointerException   java模不起作用   java Android TranslateAnimation动态更新布局的大小   数据结构如何在java中实例化队列对象?   java如果用户选择一些随机的相机应用程序,如何在安卓中正确处理相机意图?