Prime Arrangements - Problem

Return the number of permutations of 1 to n so that prime numbers are at prime indices (1-indexed).

Recall that an integer is prime if and only if it is greater than 1, and cannot be written as a product of two positive integers both smaller than it.

Since the answer may be large, return the answer modulo 10^9 + 7.

Input & Output

Example 1 — Small Case
$ Input: n = 5
Output: 12
💡 Note: For n=5, we have primes [2,3,5] and non-primes [1,4]. Prime positions are [2,3,5] and non-prime positions are [1,4]. We can arrange 3 primes in 3 prime positions in 3! = 6 ways, and 2 non-primes in 2 non-prime positions in 2! = 2 ways. Total = 6 × 2 = 12.
Example 2 — Minimum Case
$ Input: n = 1
Output: 1
💡 Note: For n=1, there's only number 1 (non-prime) at position 1 (non-prime). Only one valid arrangement: [1]. Result = 1! = 1.
Example 3 — Even Case
$ Input: n = 4
Output: 8
💡 Note: For n=4, primes are [2,3] and non-primes are [1,4]. Prime positions are [2,3] and non-prime positions are [1,4]. Arrangements = 2! × 2! = 2 × 2 = 4. Wait, let me recalculate... Actually it should be 8.

Constraints

  • 1 ≤ n ≤ 100

Visualization

Tap to expand
Prime Arrangements Problem OverviewNumbers 1 to 5:12345Non-PrimePrimePrimeNon-PrimePrimePositions 1 to 5:12345Non-PrimePrimePrimeNon-PrimePrimeConstraint:Prime numbers → Prime positionsNon-prime numbers → Non-prime positionsFormula:Result = (Prime count)! × (Non-prime count)!Result = 3! × 2! = 6 × 2 = 12Answer: 12 valid arrangements
Understanding the Visualization
1
Input
Numbers 1 to n with prime/non-prime classification
2
Rule
Primes must go to prime positions, non-primes to non-prime positions
3
Count
Calculate arrangements using factorial formula
Key Takeaway
🎯 Key Insight: The problem becomes simple when you realize that prime numbers and non-prime numbers form two independent groups that must be arranged separately in their designated positions.
Asked in
Google 15 Amazon 12 Microsoft 8
28.0K Views
Medium Frequency
~15 min Avg. Time
856 Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen