Related Articles
Count numbers from range whose prime factors are only 2 and 3
• Last Updated : 03 May, 2021

Given two positive integers L and R, the task is to count the elements from the range [L, R] whose prime factors are only 2 and 3.
Examples:

Input: L = 1, R = 10
Output:
2 = 2
3 = 3
4 = 2 * 2
6 = 2 * 3
8 = 2 * 2 * 2
9 = 3 * 3
Input: L = 100, R = 200
Output:

Approach: Start a loop from L to R and for every element num

• While num is divisible by 2, divide it by 2.
• While num is divisible by 3, divide it by 3.
• If num = 1 then increment the count as num has only 2 and 3 as its prime factors.

Print the count in the end.
Below is the implementation of the above approach:

## C++

 `// C++ program to count the numbers within a range``// whose prime factors are only 2 and 3``#include ``using` `namespace` `std;` `// Function to count the number within a range``// whose prime factors are only 2 and 3``int` `findTwoThreePrime(``int` `l, ``int` `r)``{``    ``// Start with 2 so that 1 doesn't get counted``    ``if` `(l == 1)``        ``l++;` `    ``int` `count = 0;` `    ``for` `(``int` `i = l; i <= r; i++) {``        ``int` `num = i;` `        ``// While num is divisible by 2, divide it by 2``        ``while` `(num % 2 == 0)``            ``num /= 2;` `        ``// While num is divisible by 3, divide it by 3``        ``while` `(num % 3 == 0)``            ``num /= 3;` `        ``// If num got reduced to 1 then it has``        ``// only 2 and 3 as prime factors``        ``if` `(num == 1)``            ``count++;``    ``}` `    ``return` `count;``}` `// Driver code``int` `main()``{``    ``int` `l = 1, r = 10;``    ``cout << findTwoThreePrime(l, r);``    ``return` `0;``}`

## Java

 `//Java program to count the numbers within a range``// whose prime factors are only 2 and 3` `import` `java.io.*;` `class` `GFG {``    ` `// Function to count the number within a range``// whose prime factors are only 2 and 3``static` `int` `findTwoThreePrime(``int` `l, ``int` `r)``{``    ``// Start with 2 so that 1 doesn't get counted``    ``if` `(l == ``1``)``        ``l++;` `    ``int` `count = ``0``;` `    ``for` `(``int` `i = l; i <= r; i++) {``        ``int` `num = i;` `        ``// While num is divisible by 2, divide it by 2``        ``while` `(num % ``2` `== ``0``)``            ``num /= ``2``;` `        ``// While num is divisible by 3, divide it by 3``        ``while` `(num % ``3` `== ``0``)``            ``num /= ``3``;` `        ``// If num got reduced to 1 then it has``        ``// only 2 and 3 as prime factors``        ``if` `(num == ``1``)``            ``count++;``    ``}` `    ``return` `count;``}` `// Driver code``    ``public` `static` `void` `main (String[] args) {` `        ``int` `l = ``1``, r = ``10``;``        ``System.out.println (findTwoThreePrime(l, r));``    ``}``//This code is contributed by ajit   ``}`

## Python3

 `# Python3 program to count the numbers``# within a range whose prime factors``# are only 2 and 3` `# Function to count the number within``# a range whose prime factors are only``# 2 and 3``def` `findTwoThreePrime(l, r) :` `    ``# Start with 2 so that 1``    ``# doesn't get counted``    ``if` `(l ``=``=` `1``) :``        ``l ``+``=` `1` `    ``count ``=` `0` `    ``for` `i ``in` `range``(l, r ``+` `1``) :``        ``num ``=` `i` `        ``# While num is divisible by 2,``        ``# divide it by 2``        ``while` `(num ``%` `2` `=``=` `0``) :``            ``num ``/``/``=` `2``;` `        ``# While num is divisible by 3,``        ``# divide it by 3``        ``while` `(num ``%` `3` `=``=` `0``) :``            ``num ``/``/``=` `3` `        ``# If num got reduced to 1 then it has``        ``# only 2 and 3 as prime factors``        ``if` `(num ``=``=` `1``) :``            ``count ``+``=` `1` `    ``return` `count` `# Driver code``if` `__name__ ``=``=` `"__main__"` `:` `    ``l ``=` `1``    ``r ``=` `10``    ` `    ``print``(findTwoThreePrime(l, r))``    ` `# This code is contributed by Ryuga`

## C#

 `// C# program to count the numbers``// within a range whose prime factors``// are only 2 and 3``using` `System;` `class` `GFG``{``        ` `// Function to count the number``// within a range whose prime``// factors are only 2 and 3``static` `int` `findTwoThreePrime(``int` `l, ``int` `r)``{``    ``// Start with 2 so that 1``    ``// doesn't get counted``    ``if` `(l == 1)``        ``l++;` `    ``int` `count = 0;` `    ``for` `(``int` `i = l; i <= r; i++)``    ``{``        ``int` `num = i;` `        ``// While num is divisible by 2,``        ``// divide it by 2``        ``while` `(num % 2 == 0)``            ``num /= 2;` `        ``// While num is divisible by 3,``        ``// divide it by 3``        ``while` `(num % 3 == 0)``            ``num /= 3;` `        ``// If num got reduced to 1 then it ``        ``// has only 2 and 3 as prime factors``        ``if` `(num == 1)``            ``count++;``    ``}``    ``return` `count;``}` `// Driver code``static` `public` `void` `Main ()``{``    ``int` `l = 1, r = 10;``    ``Console.WriteLine(findTwoThreePrime(l, r));``}``}` `// This code is contributed by akt_mit`

## PHP

 ``

## Javascript

 ``
Output:
`6`

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.  Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price.

In case you wish to attend live classes with industry experts, please refer Geeks Classes Live and Geeks Classes Live USA

My Personal Notes arrow_drop_up