freeCodeCamp/guide/chinese/miscellaneous/learn-about-permutations/index.md

13 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Learn About Permutations
localeTitle: 了解排列
---
_置换_是一组数学对象可以组合成一组的方式的数学术语。它类似于另一个数学术语, _组合_ ,除了一个关键的区别:对于排列,集合中的主题的顺序产生差异。
例如,假设您从帽子中提取数字并计算三个数字的不同组合。在这种情况下,无论是`[1,2,3]`和`[3,2,1]`将是组合`1` `2` ,和`3`和也要算一个组合。
但是,如果您计算数字的排列,它们将计为两个不同的实例,因为每个集合中的数字的顺序不同。
排列可以用两种方式之一计算,具体取决于是否允许重复值。要计算没有重复的`n`对象的排列数,您只需计算`n!` ,或`n * (n-1) * (n-2) ... * 1` 。这是有道理的,因为如果您从帽子中选择一个号码并且在选择下一个号码之前没有将其放回,则可以选择少一个号码。
要仅计算排列总数的一部分例如要查找1-10中没有重复的三位数的排列数您只需要乘以您正在进行的多个选项。在三位数的情况下您只需要乘以`10 * 9 * 8` 。以同样的方式,如果重复**被**允许(这意味着,你把后面的数字的帽子采摘后),你会乘`10 * 10 * 10` 。