Back to Practice Dashboard
Python BasicsEasy

Permutations in which n people can occupy r seats

Learn how to solve the 'Permutations in which n people can occupy r seats' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

Write a function compute_nPr(n, r) that takes two non-negative integers n and r (where n >= r) and returns the number of permutations, i.e., the number of ways to arrange r items out of n items. The formula is nPr = n! / (n - r)!.

For example, if 5 people want to sit in 3 seats, the number of ways is 5P3 = 5! / 2! = 120 / 2 = 60.

Constraints
  • 0 <= r <= n <= 20

Examples

Example 1
Input
compute_nPr(5, 3)
Output
60
Explanation

5P3 = 5! / (5-3)! = 120 / 2 = 60.

Example 2
Input
compute_nPr(4, 2)
Output
12
Explanation

4P2 = 4! / 2! = 24 / 2 = 12.

Example 3
Input
compute_nPr(6, 6)
Output
720
Explanation

6P6 = 6! / 0! = 720 / 1 = 720.

Need a Hint?
Use simple arithmetic operators (like modulo `%`, division `//`), conditional checks, or loops to inspect number properties.
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor