kytsirangelos / 数学函数
一组基于整数的数学运算(因子、阶乘、素数)的集合,支持XML格式化以展示计算结果。
v1.4.0
2024-02-12 11:36 UTC
Requires
- php: ^8.2
Requires (Dev)
- phpunit/phpunit: ^11.0
README
MathFunctions包提供了一套用于执行各种基于整数的数学运算的类。它包括计算因子、阶乘以及识别整数数组中的素数等功能。此外,它还提供了XML格式化功能来展示计算结果。
目录
需求
安装
$ composer require ktsirangelos/math-functions
运行单元测试
要为此库运行单元测试
- 克隆GitHub仓库
$ git clone https://github.com/ktsirangelos/math-functions.git
- 安装依赖项
$ cd math-functions
$ composer install
- 执行测试
$ ./vendor/bin/phpunit tests
使用方法
计算因子
要计算整数的正负因子(排除1和本身),请使用calcDivisors()
方法
use MathFunctions\IntegerCalculator; $integerCalculator = new IntegerCalculator(); // Example usage with integer 12 $divisors = $integerCalculator->calcDivisors(12); // Expected Output: [-6, -4, -3, -2, 2, 3, 4, 6]
计算阶乘
要计算整数的阶乘,请使用calcFactorial()
方法
use MathFunctions\IntegerCalculator; $integerCalculator = new IntegerCalculator(); // Example usage with integer 5 $factorial = $integerCalculator->calcFactorial(5); // Expected Output: 120
识别素数
要找到整数数组中的素数并以XML格式接收结果,请使用calcPrimeNumbers()
方法
use MathFunctions\IntegerCalculator; $integerCalculator = new IntegerCalculator(); // Example usage with an array of integers $primeNumbersXML = $integerCalculator->calcPrimeNumbers([2, 3, 4, 5, 6, 7]); // Expected Output (XML string): // <primeNumbers amount="4"> // <result> // <number>2</number> // <number>3</number> // <number>5</number> // <number>7</number> // </result> // </primeNumbers>
格式化计算结果
您可以使用toXML()
方法将计算结果格式化为XML字符串
use MathFunctions\Utilities\ResultFormatter; $resultFormatter = new ResultFormatter(); // Example usage with an array of even numbers $xmlResult = $resultFormatter->toXML('evenNumbers', [2, 4, 6, 8]); // Expected Output (XML string): // <evenNumbers amount="4"> // <result> // <number>2</number> // <number>4</number> // <number>6</number> // <number>8</number> // </result> // </evenNumbers>
异常
对于无效输入,函数可能会抛出异常。请确保在您的代码中适当捕获和处理这些异常。
贡献
欢迎贡献!如果您发现任何问题或对改进有建议,请随时打开一个问题或提交一个pull请求。
许可
此包受MIT许可证的许可。有关详细信息,请参阅LICENSE文件。