Hogben Numbers in JavaIn this section, we will learn what is Hogben number and also create Java programs to that calculates the Hogben number. The Hogben number program is frequently asked in Java coding interviews and academics. Hogben NumberThe Hogben numbers are the numbers that are recursively defined as: H(n) = H(n  1) + 2 * (n  1), where n >= 1 and H(0) = 1. Thus, H(1) = H(1  1) + 2 * (1  1) = H(0) + 2 * 0 = 1 + 0 = 1 H(2) = H(2  1) + 2 * (2  1) = H(1) + 2 * 1 = 1 + 2 = 3 H(3) = H(3  1) + 2 * (3  1) = H(2) + 2 * 2 = 3 + 4 = 7 H(4) = H(4  1) + 2 * (4  1) = H(3) + 2 * 3 = 7 + 6 = 13 H(5) = H(5  1) + 2 * (5  1) = H(4) + 2 * 4 = 13 + 8 = 21 Let's see the different approaches to find the Hogben numbers. Approach: RecursiveLet's see the recursive approach to find the first 10 Hogben numbers. FileName: HogbenNum.java Output: The first 10 Hogben numbers are: 1 3 7 13 21 31 43 57 73 91 Complexity Analysis: The time complexity of the program is O(n), where n is the nth number. The space complexity of the program is constant, i.e., O(1). Approach: IterativeLet's see the iterative approach to find the first 10 Hogben numbers. FileName: HogbenNum1.java Output: The first 10 Hogben numbers are: 1 3 7 13 21 31 43 57 73 91 Complexity Analysis: The time complexity of the program is O(1). The space complexity of the program is constant, i.e., O(n), where n is the total number of Hogben numbers to be computed. The current Hogben number is only dependent on the value of the last computed Hogben number. Therefore, instead of array, we can only use a variable to compute the Hogben numbers. See the following program. FileName: HogbenNum2.java Output: The first 10 Hogben numbers are: 1 3 7 13 21 31 43 57 73 91 Complexity Analysis: The time, as well as the space complexity of the program, is O(1). Approach: Using Mathematical FormulaThe mathematical formula for computing the Hogben numbers are: H(n) = n^{2}  n + 1, where n >= 1 Thus, H(1) = 1^{2}  1 + 1 = 1  1 + 1 = 1 H(2) = 2^{2}  2 + 1 = 4  2 + 1 = 3 H(3) = 3^{2}  3 + 1 = 9  3 + 1 = 7 H(4) = 4^{2} 4 + 1 = 16  4 + 1 = 13 H(5) = 5^{2}  5 + 1 = 25  5 + 1 = 21 Implementation The following program uses the mentioned mathematical formula. FileName: HogbenNum3.java Output: The first 10 Hogben numbers are: 1 3 7 13 21 31 43 57 73 91 Complexity Analysis: The time, as well as the space complexity of the program, is O(1).
Next TopicSelfDescriptive Numbers in Java
