Given a number N. The task is to find the largest good number in the divisors of given number N. A number X is defined as the good number if there is no such positive integer a > 1 such that a^2 is a divisor of X.
Input: N = 10 Output: 10 In 1, 2, 5, 10. 10 is the largest good number Input: N = 12 Output: 6 In 1, 2, 3, 4, 6, 12. 6 is the largest good number
Approach: Find all prime divisors of N. Assume they are p1, p2, …, pk (in O(sqrt(n)) time complexity). If the answer is a, then we know that for each 1 <= I <= k, obviously, a is not divisible by pi^2 (and all greater powers of pi). So a <= p1 × p2 ×… × pk. And we know that p1 × p2 × … × pk is itself a good number. So, the answer is p1 × p2 ×…× pk.
Below is the implementation of above approach:
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Sum of all second largest divisors after splitting a number into one or more parts
- Find sum of divisors of all the divisors of a natural number
- Find sum of inverse of the divisors when sum of divisors and the number is given
- Find the number of integers x in range (1,N) for which x and x+1 have same number of divisors
- Find the number of good permutations
- Find the minimum number of elements that should be removed to make an array good
- Find the largest number smaller than integer N with maximum number of set bits
- Find number from its divisors
- Find the sum of the number of divisors
- Find all divisors of a natural number | Set 2
- Find all divisors of a natural number | Set 1
- Find the number of divisors of all numbers in the range [1, n]
- Find the winner of the game based on greater number of divisors
- Program to find count of numbers having odd number of divisors in given range
- Find largest sum of digits in all divisors of 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.