Given a number N. The task is to find the smallest special prime which is greater than or equal to N.
A special prime is a number which can be created by placing digits one after another such the all the resulting numbers are prime.
Input: N = 379 Output: 379 379 can be created as => 3 => 37 => 379 Here, all the numbers ie. 3, 37, 379 are prime. Input:N = 100 Output: 233
Approach: The idea is to use Sieve Of Eratosthenes. Build the sieve array up to the number N*10 (Assuming the number will exist in that range). Then start iteratively from the number N checking if the number is prime. If it is prime then check if it is special prime or not.
Now, to check if a number is a special prime or not. Keep dividing the number by 10 and at each point check whether the remaining number is prime or not, which we can do by referring our Sieve array which we have built.
Below is the implementation of the above approach:
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Find Largest Special Prime which is less than or equal to a given number
- Smallest number greater than or equal to N divisible by K
- Smallest number greater than or equal to X whose sum of digits is divisible by Y
- Smallest power of 4 greater than or equal to N
- Highest and Smallest power of K less than and greater than equal to N respectively
- Numbers with prime frequencies greater than or equal to k
- Kth prime number greater than N
- Smallest number greater or equals to N such that it has no odd positioned bit set
- Smallest number greater than n that can be represented as a sum of distinct power of k
- Largest number not greater than N which can become prime after rearranging its digits
- Check whether all the rotations of a given number is greater than or equal to the given number or not
- Smallest prime divisor of a number
- Smallest prime number missing in an array
- Minimum value of K such that sum of cubes of first K natural number is greater than equal to N
- Number of non-decreasing sub-arrays of length greater than or equal to K