Cullen Number in JavaCullen number is the member of integer sequence which is defined in OEIS sequence A002064. It was first studied by James Cullen in 1905. In this section, we will discuss what is Cullen number and also create Java programs to check if the given number is a Cullen number or not. The Cullen number program frequently asked in Java coding interviews and academics. Cullen NumberA number that is in the form of 2^{n}*n + 1 or (n*2^{n}) +1 where n is an integer. Most of the Cullen numbers are composite numbers. It is denoted by C_{n} or C(n). It is divisible by p=2n1 if p is a prime number and in the form of 8k3. If any number of the form 2^{n}*n + 1 or (n*2^{n}) +1 is prime, it is called prime Cullen number. It is defined in OEIS sequence A005849. Sometimes, a generalized Cullen number base b is defined to be a number of the form n*b^{n} + 1, where n + 2 > b; if a prime can be written in that form, it is then called a generalized Cullen prime. The Woodall numbers (2^{n}*n  1) are sometimes also called Cullen numbers of the second kind. The largest known generalized Cullen prime is 2805222 * 25^{2805222} + 1 which is 3,921,539 digits long number discovered by Tom Greer in March 2020. Cullen Number Example3 = 2^{1} * 1 + 1 9 = 2^{2} * 2 + 1 25 = 2^{3} * 3 + 1 Some other Cullen numbers are 1, 3, 9, 25, 65, 161, 385, 897, 2049, 4609, 10241, 22529, 49153, 106497, 229377, 491521, 1048577, 2228225, 4718593, 9961473, 20971521, 44040193, 92274689, 192937985, 402653185, 838860801, 1744830465, 3623878657, 7516192769, 15569256449, 32212254721. 1 * 2^{1} + 1 = 3, that is prime. 141 * 2^{141} + 1 = 393050634124102232869567034555427371542904833, that is also a prime number. The next prime Cullen is hard to calculate because is a too large number approx. 1423 digits long. Some other prime Cullen numbers are 1, 141, 4713, 5795, 6611, 18496, 32292, 32469, 59656, 90825, 262419, 361275, 481899, 1354828, 6328548, 6679881. Still, it is conjectured that there are infinitely many Cullen primes. Cullen Number Java ProgramThere are two ways to find Cullen number:
Using Bitwise LeftShit OperatorIn the following program, we have used the bitwise leftshift (<<) operator to find the n^{th} Cullen number. The operator shifts the bits of a number towards the left in a specified number of positions. Suppose, n=7 then according to the statement (1 << n) * n + 1: (1<<7) * 7 + 1 (where 1<<7 is equal to 1*2^{7 }= 128) 128 * 7 + 1 896 + 1 = 897 Let's implement the above logic in a Java program. CullenNumberExample1.java Output: Enter the number: 7 Cullen Number for the value n = 7 is: 897 Let's see another logic for the same. Using Lambada ExpressionIn the following program, we have used the Function interface that is a functional interface. It can be used as the assignment target for a lambda expression or method reference. It belongs to java.util.function package. The syntax of the Function interface is as follows: Where T and R are the type parameters. T is the type of input to the function and R is the type of the result of the function. The interface provides the apply() method. It applies this function to the given argument. Syntax: It accepts t (function argument) as a parameter and returns the function result. CullenNumberExample2.java Output: false true
Next TopicMobile Number Validation in Java
