Given a number N, print all the prime factors and their powers. Here N <= 10^18
Input : 250 Output : 2 1 5 3 Explanation: The prime factors of 250 are 2 and 5. 2 appears once in the prime factorization of and 5 is thrice in it. Input : 1000000000000000000 Output : 2 18 5 18 Explanation: The prime factors of 1000000000000000000 are 2 and 5. The prime factor 2 appears 18 times in the prime factorization. 5 appears 18 times.
We cannot use Sieve’s implementation for a single large number as it requires proportional space. We first count the number of times 2 is the factor of the given number, then we iterate from 3 to Sqrt(n) to get the number of times a prime number divides a particular number which reduces every time by n/i. We divide our number n (whose prime factorization is to be calculated) by its corresponding smallest prime factor till n becomes 1. And if at the end n>2, it means its a prime number, so we print that particular number.
2 18 5 18
Time complexity : O(sqrt(n)).
- Print all numbers whose set of prime factors is a subset of the set of the prime factors of X
- Sum of Factors of a Number using Prime Factorization
- Number which has the maximum number of distinct prime factors in the range M to N
- Number of steps to convert to prime factors
- Product of unique prime factors of a number
- Maximum number of unique prime factors
- Super Ugly Number (Number whose prime factors are in given set)
- C Program for efficiently print all prime factors of a given number
- Number of distinct prime factors of first n natural numbers
- Efficient program to print all prime factors of a given number
- Java Program for efficiently print all prime factors of a given number
- Number with maximum number of prime factors
- Find number of factors of N when location of its two factors whose product is N is given
- Common prime factors of two numbers
- Prime factors of LCM of array elements
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.