# 排列组合计算器 — nPr、nCr 带详细步骤

> 排列（nPr）与组合（nCr）计算器，支持可重复排列组合、阶乘展开和帕斯卡三角形视图。免费在线的 nPr/nCr 计算工具，结果即时呈现。

- **Category:** 数学
- **Interactive calculator:** https://youcalc.com/zh/math/permutations-combinations/
- **Price:** Free, no sign-up required

## Overview

本计算器一次性求出全部四个经典计数值：有序不重复选取（nPr）、无序不重复选取（nCr）、有序可重复选取（nʳ），以及无序可重复选取。输入总体大小 n 和样本大小 r，即可立即看到每个计数值。

## How to read your result

主要数字是 nCr——即当顺序无关时，从 n 个中选取 r 个的方法数。在它下方你还能看到 nPr（顺序有关、不重复）、nʳ（顺序有关、允许重复），以及可重复组合的计数。逐步拆解展示 nPr 和 nCr 的阶乘展开，而帕斯卡三角面板会精确标出你的 nCr 值所处的位置。

## Method

不重复排列使用 nPr = n! / (n − r)!，以乘积 n × (n−1) × … × (n−r+1) 的方式逐项计算以避免溢出。不重复组合使用 nCr = n! / (r!(n−r)!)，用对称的乘法公式 ∏(n−k+i)/i（i = 1..k，其中 k = min(r, n−r)）计算。有序可重复就是 nʳ。无序可重复则套用多重集公式 C(n+r−1, r)，同样以乘法方式计算。

## Example

- **Setup:** 从 5 个项目中选取 3 个（例如，从 5 种配料的菜单中选 3 种）。
- **Result:** nPr = 60 种有序排列；nCr = 10 种无序选取；可重复时：有序 125 种，无序 35 种。

## Frequently asked questions

### 排列和组合有什么区别？

排列计数的是顺序有关的排列方式——ABC 和 BAC 是两个不同的结果。组合计数的是顺序无关的选取方式——ABC 和 BAC 是同一个结果。在实际中，排名、排序或序列用排列，委员会、团队或子集用组合。

### 我应该在什么时候使用「可重复」的变体？

当一个项目可以被多次选取时使用可重复计数——例如，为密码挑选数字，或在同一种口味可出现多次的情况下选择口味。公式 nʳ 涵盖有序的可重复选取；C(n+r−1, r) 涵盖无序的可重复选取。

### 计算器为什么把 n 限制在 170？

170 是其阶乘仍能装进 64 位浮点数的最大整数（170! ≈ 7.3 × 10³⁰⁶）。超过它，JavaScript 的 Number 类型就会溢出为 Infinity。计算器使用乘法公式而非计算完整的阶乘，因此结果在 JavaScript 的安全整数上限范围内都是准确的。

## Related calculators

- [标准差计算器](https://youcalc.com/zh/math/statistics-standard-deviation/)
- [Z分数与正态分布计算器——概率与百分位](https://youcalc.com/zh/math/z-score-normal-distribution/)
- [百分比计算器](https://youcalc.com/zh/math/percentage/)

## Sources

- https://dlmf.nist.gov/26.4
- https://en.wikipedia.org/wiki/Permutation
- https://en.wikipedia.org/wiki/Combination

---

Interactive version: https://youcalc.com/zh/math/permutations-combinations/ · From YouCalc — https://youcalc.com
