⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 permutations.java

📁 JAVA 数学程序库 提供常规的数值计算程序包
💻 JAVA
字号:
package jmathlib.toolbox.general;

import jmathlib.core.tokens.numbertokens.DoubleNumberToken;
import jmathlib.core.tokens.Token;
import jmathlib.core.tokens.OperandToken;
import jmathlib.core.functions.ExternalFunction;

/**External function to calculate the number of permutations
when k objects are taken from a set of k*/
public class permutations extends ExternalFunction
{
	/**calculate the number of permutations
	@param operand[0] = The the number of objects taken
	@param operand[1] = The total number of objects
	@return the number of permutations
	*/
	public OperandToken evaluate(Token[] operands)
	{
		OperandToken result = new DoubleNumberToken(0);

        if (getNArgIn(operands) != 2)
			throwMathLibException("permutations: number of arguments != 2");

		if(operands.length >= 2 && operands[0] instanceof DoubleNumberToken && operands[1] instanceof DoubleNumberToken)
		{
			//perm(x y) = y!/(y-x)!
			DoubleNumberToken objects = ((DoubleNumberToken)operands[0]);
			DoubleNumberToken total   = ((DoubleNumberToken)operands[1]);
			
			//temp = y-x
			OperandToken temp = ((OperandToken)total.clone());
			temp = temp.subtract(objects);

			//temp = (y-x)!
			temp = temp.factorial();

			//result = y! / (y-x)!
			result = total.factorial();

			result = result.divide(temp);
		}
		return result;
	}
}

/*
@GROUP
general
@SYNTAX
answer = PERMUTATIONS(items, total)
@DOC
Returns the number of permutations when taking count items from a set of total items.
@EXAMPLES
PERMUTATIONS(3,5) = 60
PERMUTATIONS(3,6) = 120
@NOTES

@SEE
combinations

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -