VOOZH about

URL: https://www.geeksforgeeks.org/dsa/find-nth-magic-number/

⇱ Find nth Magic Number - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Find nth Magic Number

Last Updated : 23 Jul, 2025

A magic number is defined as a number which can be expressed as a power of 5 or sum of unique powers of 5. First few magic numbers are 5, 25, 30(5 + 25), 125, 130(125 + 5), ....
Write a function to find the nth Magic number.
Example: 

Input: n = 2
Output: 25

Input: n = 5
Output: 130 


 

Recommended Practice


If we notice carefully the magic numbers can be represented as 001, 010, 011, 100, 101, 110 etc, where 001 is 0*pow(5,3) + 0*pow(5,2) + 1*pow(5,1). So basically we need to add powers of 5 for each bit set in a given integer n. 
Below is the implementation based on this idea. 
 

Approach : 

Step 1 : declare and assign a number for which you want to find the magic number.

Step 2 : assign a pow = 1, and ans = 0

Step 3 : use while loop to iterate each bit until ends (while n > 0)

Step 4 : inside loop, find last bit using & operation and  keep updating answer and  power as well

Step 5 : Once loop exit return answer

Output : 

 nth magic number is 130 

Complexity : 

Time complexity : O(logN)

Auxiliary Space : O(1)


Thanks to manrajsingh for suggesting the above solution.
 


 

Comment