A Sphenic Number is a positive integer n which is product of exactly three distinct primes. The first few sphenic numbers are 30, 42, 66, 70, 78, 102, 105, 110, 114, …
Given a number n, determine whether it is a Sphenic Number or not.
Input : 30 Output : Yes Explanation : 30 is the smallest Sphenic number, 30 = 2 × 3 × 5 the product of the smallest three primes Input : 60 Output : No Explanation : 60 = 22 x 3 x 5 has exactly 3 prime factors but is not a sphenic number
Sphenic number can be checked by first generating the Least prime factor of numbers till n.
Then we could simply divide the number by its least prime factor and then that number by its least prime factor, and so on and then check if the number has exactly 3 distinct prime factors.
Below is the C++ implementation of the idea.
Time Complexity: O(nlog(n))
Auxiliary Space: O(n)
This article is contributed by Ayush Khanduri. 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.
- Least prime factor of numbers till n
- Efficient program to print all prime factors of a given number
- Program for Fibonacci numbers
- Smith Number
- Find (a^b)%m where ‘a’ is very large
- Number of Permutations such that no Three Terms forms Increasing Subsequence
- Check if the first and last digit of the smallest number forms a prime
- Print all substring of a number without any conversion
- Complement of a number with any base b
- Check if Decimal representation of an Octal number is divisible by 7