# Woodall Primes

**Woodall Primes **are prime numbers that are also Woodall number.

### Find the Woodall prime numbers less than N

Given a number **N**, print all Woodall primes smaller than or equal to N.

**Examaples:**

Input:N = 10Output:7

Input:N = 500Output:7, 23, 383

**Approach:** The idea is to use Sieve of Eratosthenes to check that a number is prime or not efficiently. Then, Iterate over integers from 1 to N, and for every number check that if it is prime or not and it is Woodall number or not. If a number is prime also a Woodall number, Then it a Woodall prime.

Below is the implementation of above algorithm:

## Python3

`# Python3 implementation to print all Woodall ` `# primes smaller than or equal to n. ` ` ` `# Function to check if a number ` `# N is Woodall ` `def` `isWoodall(x) : ` ` ` ` ` `# If number is even, return false. ` ` ` `if` `(x ` `%` `2` `=` `=` `0` `) : ` ` ` `return` `False` ` ` ` ` `# If x is 1, return true. ` ` ` `if` `(x ` `=` `=` `1` `) : ` ` ` `return` `True` ` ` ` ` `x ` `=` `x ` `+` `1` `# Add 1 to make x even ` ` ` ` ` `# While x is divisible by 2 ` ` ` `p ` `=` `0` ` ` `while` `(x ` `%` `2` `=` `=` `0` `) : ` ` ` ` ` `# Divide x by 2 ` ` ` `x ` `=` `x ` `/` `2` ` ` ` ` `# Count the power ` ` ` `p ` `=` `p ` `+` `1` ` ` ` ` `# If at any point power and ` ` ` `# x became equal, return true. ` ` ` `if` `(p ` `=` `=` `x) : ` ` ` `return` `True` ` ` ` ` `return` `False` ` ` `# Function to generate all primes and checking ` `# whether number is Woodall or not ` `def` `printWoodallPrimesLessThanN(n): ` ` ` ` ` `# Create a boolean array "prime[0..n]" and ` ` ` `# initialize all entries it as true. A value ` ` ` `# in prime[i] will finally be false if i is ` ` ` `# Not a prime, else true. ` ` ` `prime ` `=` `[` `True` `] ` `*` `(n ` `+` `1` `); ` ` ` `p ` `=` `2` `; ` ` ` `while` `(p ` `*` `p <` `=` `n): ` ` ` ` ` `# If prime[p] is not changed, ` ` ` `# then it is a prime ` ` ` `if` `(prime[p]): ` ` ` ` ` `# Update all multiples of p ` ` ` `for` `i ` `in` `range` `(p ` `*` `2` `, n ` `+` `1` `, p): ` ` ` `prime[i] ` `=` `False` `; ` ` ` `p ` `+` `=` `1` `; ` ` ` ` ` `# Print all Woodall prime numbers ` ` ` `for` `p ` `in` `range` `(` `2` `, n ` `+` `1` `): ` ` ` ` ` `# checking whether the given number ` ` ` `# is prime Woodall or not ` ` ` `if` `(prime[p] ` `and` `isWoodall(p)): ` ` ` `print` `(p, end ` `=` `" "` `); ` ` ` `# Driver Code ` `n ` `=` `1000` `; ` `printWoodallPrimesLessThanN(n)` |

**Output:**

7 23 383

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.