Skip to main content
Back to problems
#3765
Medium Algorithms

Complete prime number

Math Enumeration Number Theory
37.1% acceptance
Feb 25, 2026
47
3
You are given an integer num. A number num is called a Complete Prime Number if every prefix and every suffix of num is prime. Return true if num is a Complete Prime Number, otherwise return false. Note: A prefix of a number is formed by the first k digits of the number. A suffix of a number is formed by the last k digits of the number. Single-digit numbers are considered Complete Prime Numbers only if they are prime.

Solution

Rust
Time O(2^n)
Space O(n)
LeetCode
solution.rs
impl Solution {
  pub fn complete_prime(num: i32) -> bool {
    fn is_prime(n: i32) -> bool {
      if n < 2 { return false; }
      if n == 2 { return true; }
      if n % 2 == 0 { return false; }
      let mut i = 3;
      while i * i <= n { if n % i == 0 { return false; } i += 2; }
      true
    }
    let s = num.to_string();
    let n = s.len();
    for i in 1..=n {
      if !is_prime(s[..i].parse().unwrap()) { return false; }
    }
    for i in 0..n {
      if !is_prime(s[i..].parse().unwrap()) { return false; }
    }
    true
  }
}