Files
calctext/_bmad-output/implementation-artifacts/6-3-factorial-and-combinatorics.md
2026-03-16 19:54:53 -04:00

1.6 KiB

epic, story, title, status
epic story title status
6 6.3 Factorial & Combinatorics draft

Epic 6 — Advanced Math & Functions

Goal: Scientific, financial, and power-user math.

Story 6.3: Factorial & Combinatorics

As a CalcPad user, I want to compute factorials, permutations, and combinations, So that I can solve probability, statistics, and combinatorics problems.

Acceptance Criteria:

Given the user writes 10! When the engine evaluates Then the result is 3628800

Given the user writes 0! When the engine evaluates Then the result is 1 (by mathematical convention)

Given the user writes nPr(10, 3) When the engine evaluates Then the result is 720 (10! / 7!)

Given the user writes nCr(10, 3) When the engine evaluates Then the result is 120 (10! / (3! * 7!))

Given the user writes 100! When the engine evaluates Then the result is computed using arbitrary precision arithmetic and is exact (not a floating-point approximation) And the full integer result is displayed (or a scrollable/expandable representation for very large numbers)

Given the user writes (-3)! When the engine evaluates Then an error is displayed (factorial of negative integers is undefined)

Given the user writes 3.5! When the engine evaluates Then either the gamma function is used to compute Gamma(4.5) approximately 11.6317, or an error indicates that only non-negative integer factorials are supported

Given the user writes nCr(5, 7) where k > n When the engine evaluates Then the result is 0 (by combinatorial convention)