Given a perfect square natural number N. The task is to find all the factors of N.
Input: N = 100
Output: 1 2 4 5 10 20 25 50 100
Input: N = 900
Output: 1 2 4 3 6 12 9 18 36 5 10 20 15 30 60 45 90 180 25 50 100 75 150 300 225 450 900
- Find the square root of N in temp.
- Find all the prime factors of temp in O(sqrt(temp)) using the approach discussed in this article.
- Initialise an array factor with element 1 in it.
- Store all the prime factors of temp obtained in above step twice in an array factor.
- Initialise a matrix M such that for every element in factor starting from index 1:
- If factor[i] is equals to factor[i-1], then store factor[i]*factor[i-1] in matrix M in row i – 1 .
- Else factor[i] is not equals to factor[i-1], then store factor[i]*factor[i-1] in matrix M in row i.
- Initialise two arrays arr1 and arr2 with the element 1 in both the array.
- Iterate over every row of matrix M such that the product of every element in arr1 with every element of current row must be stored in arr2.
- After above step, copy every element of arr2 in arr1.
- Repeat above two steps, till all the element of matrixM is traverse.
- The array arr2 contains all the factors of number N.
Below is the implementation of the above approach:
1 2 4 3 6 12 9 18 36 5 10 20 15 30 60 45 90 180 25 50 100 75 150 300 225 450 900
Time Complexity: O(sqrt(sqrt(N)))
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.
- Find smallest perfect square number A such that N + A is also a perfect square number
- Check if a number is a perfect square having all its digits as a perfect square
- Perfect Square factors of a Number
- Number of factors of very large number N modulo M where M is any prime number
- Check if a number is perfect square without finding square root
- Smallest N digit number whose sum of square of digits is a Perfect Square
- Count numbers upto N which are both perfect square and perfect cube
- Find number of factors of N when location of its two factors whose product is N is given
- Maximum number of prime factors a number can have with exactly x factors
- Print all numbers whose set of prime factors is a subset of the set of the prime factors of X
- Check if a number exists having exactly N factors and K prime factors
- Find minimum number to be divided to make a number a perfect square
- Sum of all natural numbers from L to R ( for large values of L and R )
- Perfect Cube factors of a Number
- Number of distinct prime factors of first n natural numbers
- Find the Next perfect square greater than a given number
- Array range queries to find the number of perfect square elements with updates
- Find the Largest N digit perfect square number in Base B
- Multiply large integers under large modulo
- Number of times the largest perfect square number can be subtracted from N
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.