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)