w3resource

JavaScript: Power of four

JavaScript Math: Exercise-108 with Solution

Check Power of Four

Write a JavaScript program to check whether a given integer is a power of four or not.

In arithmetic and algebra, the fourth power of a number n is the result of multiplying four instances of n together. So: n4 = n × n × n × n
Fourth powers are also formed by multiplying a number by its cube. Furthermore, they are squares of squares.
The sequence of fourth powers of integers (also known as biquadrates or tesseractic numbers) is:
0, 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000, 14641, 20736, 28561, 38416, 50625, 65536, 83521, 104976, 130321, 160000, 194481, 234256, 279841, 331776, 390625, 456976, 531441, 614656, 707281, 810000, ...

Test Data:
(16) -> true
(4096) -> true
(36) -> false

Sample Solution:

Solution-1

JavaScript Code:

/**
 * Function to check if a number is a power of four.
 * @param {number} n - The number to be checked.
 * @returns {boolean} - True if the number is a power of four, false otherwise.
 */
function test(n) {
  // Check if the number is less than 1
  if (n < 1) {
    return false;
  }

  // Divide the number by 4 until it is not divisible by 4
  while (n % 4 === 0) {
    n = n / 4;
  }
  
  // Check if the resulting number is 1
  return n === 1;
}

// Test cases
n = 16;
console.log("Number n = " + n);
console.log("Check if the said number is a power of four: " + test(n));
n = 4096;
console.log("Number n = " + n);
console.log("Check if the said number is a power of four: " + test(n));
n = 36;
console.log("Number n = " + n);
console.log("Check if the said number is a power of four: " + test(n));

Output:

Number n = 16
Check the said number is power of four or not? true
Number n = 4096
Check the said number is power of four or not? true
Number n = 36
Check the said number is power of four or not? false

Flowchart:

JavaScript: Power of three.

Live Demo:

See the Pen javascript-math-exercise-108 by w3resource (@w3resource) on CodePen.


Solution-2

JavaScript Code:

/**
 * Function to check if a number is a power of four.
 * @param {number} n - The number to be checked.
 * @returns {boolean} - True if the number is a power of four, false otherwise.
 */
function test(n) {
    // Check if the number is 1 or 4
	if(n === 1 || n === 4) return true;
    // Check if the number is less than 4
	if(n < 4) return false;
    // Recursively call the function with n divided by 4
	return test(n / 4);
}

// Test cases
n = 16;
console.log("Number n = " + n);
console.log("Check if the said number is a power of four: " + test(n));
n = 4096;
console.log("Number n = " + n);
console.log("Check if the said number is a power of four: " + test(n));
n = 36;
console.log("Number n = " + n);
console.log("Check if the said number is a power of four: " + test(n));

Output:

Number n = 16
Check the said number is power of four or not? true
Number n = 4096
Check the said number is power of four or not? true
Number n = 36
Check the said number is power of four or not? false

Flowchart:

JavaScript: Power of three.

Live Demo:

See the Pen javascript-math-exercise-108-1 by w3resource (@w3resource) on CodePen.


For more Practice: Solve these Related Problems:

  • Write a JavaScript function that determines if a number is a power of four using iterative division by 4.
  • Write a JavaScript function that uses logarithms to check if the logarithm base 4 of a number is an integer.
  • Write a JavaScript function that employs recursion to divide the number by 4 until it reaches one.
  • Write a JavaScript function that validates input and returns a boolean indicating if the number is a power of four.

Go to:


PREV : Check Power of Three.
NEXT : Unique Digit Numbers Count.

Improve this sample solution and post your code through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.