Given two integers L and R (L < = R). The task is to find all square free semiprimes in the range L to R (both inclusive).
Input : L = 1, R = 10
Output : 2
4, 6, 9, 10 are semi primes. But 6, 10 are square free semi primes.
Input : L = 10, R = 20
Output : 3
Semiprimes are numbers of the form where p and q are primes, not necessarily distinct. All semiprime has only 4 factors where p and q are the only two prime factors and .
Precompute all prime number upto . Find all combinations of two prime p and q such that is between L and R. Iterating through all combinations of prime would give a time complexity of . This solution, however, will not work for large L and R values.
Time Complexity: O(N^2)
Precompute all prime number up to . We can divide the problem of finding two primes p and q into a simpler form.
As we can say that . Similarly as we can say that .
Now the problem is reduced to finding the count of q such that for all p.
Here, we can use binary search for finding upper_bound of from list of prime numbers and subtract it from index of lower_bound of from list of prime numbers to find the count of all q in range to for the given p. Repeating the above step for all prime p will give the answer for given range L to R
Below is the implementation of the above approach :
Time Complexity: O(N*logN)
- Nth Square free number
- Square Free Number
- Minimum number of Square Free Divisors
- Range Sum Queries and Update with Square Root
- Find all numbers between range L to R such that sum of digit and sum of square of digit is prime
- Check if a number is perfect square without finding square root
- Count square and non-square numbers before n
- Cube Free Numbers smaller than n
- Data Structures and Algorithms Online Courses : Free and Paid
- Sum of square of first n even numbers
- Magic Square
- Nth non-Square number
- Sum of square of first n odd numbers
- Lagrange's four square theorem
- N-th number which is both a square and a cube
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.
Improved By : Akanksha_Rai