Given a range [L, R], the task is to find the count of numbers from the range whose last digit is either 2, 3 or 9.
Examples:
Input: L = 1, R = 3
Output: 2
2 and 3 are the only valid numbers.
Input: L = 11, R = 33
Output: 8
Approach: Initialize a counter count = 0 and run a loop for every element from the range, if the current element ends with any of the given digits then increment the count.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach #include <iostream> using namespace std; // Function to return the count // of the required numbers int countNums( int l, int r) { int cnt = 0; for ( int i = l; i <= r; i++) { // Last digit of the current number int lastDigit = (i % 10); // If the last digit is equal to // any of the given digits if ((lastDigit % 10) == 2 || (lastDigit % 10) == 3 || (lastDigit % 10) == 9) { cnt++; } } return cnt; } // Driver code int main() { int l = 11, r = 33; cout << countNums(l, r) ; } // This code is contributed by AnkitRai01 |
Java
// Java implementation of the approach class GFG { // Function to return the count // of the required numbers static int countNums( int l, int r) { int cnt = 0 ; for ( int i = l; i <= r; i++) { // Last digit of the current number int lastDigit = (i % 10 ); // If the last digit is equal to // any of the given digits if ((lastDigit % 10 ) == 2 || (lastDigit % 10 ) == 3 || (lastDigit % 10 ) == 9 ) { cnt++; } } return cnt; } // Driver code public static void main(String[] args) { int l = 11 , r = 33 ; System.out.print(countNums(l, r)); } } |
Python3
# Python3 implementation of the approach # Function to return the count # of the required numbers def countNums(l, r) : cnt = 0 ; for i in range (l, r + 1 ) : # Last digit of the current number lastDigit = (i % 10 ); # If the last digit is equal to # any of the given digits if ((lastDigit % 10 ) = = 2 or (lastDigit % 10 ) = = 3 or (lastDigit % 10 ) = = 9 ) : cnt + = 1 ; return cnt; # Driver code if __name__ = = "__main__" : l = 11 ; r = 33 ; print (countNums(l, r)) ; # This code is contributed by AnkitRai01 |
C#
// C# implementation of the approach using System; class GFG { // Function to return the count // of the required numbers static int countNums( int l, int r) { int cnt = 0; for ( int i = l; i <= r; i++) { // Last digit of the current number int lastDigit = (i % 10); // If the last digit is equal to // any of the given digits if ((lastDigit % 10) == 2 || (lastDigit % 10) == 3 || (lastDigit % 10) == 9) { cnt++; } } return cnt; } // Driver code public static void Main() { int l = 11, r = 33; Console.Write(countNums(l, r)); } } // This code is contributed by AnkitRai01 |
Javascript
<script> // JavaScript implementation of the approach // Function to return the count // of the required numbers function countNums(l, r) { let cnt = 0; for (let i = l; i <= r; i++) { // Last digit of the current number let lastDigit = (i % 10); // If the last digit is equal to // any of the given digits if ((lastDigit % 10) == 2 || (lastDigit % 10) == 3 || (lastDigit % 10) == 9) { cnt++; } } return cnt; } let l = 11, r = 33; document.write(countNums(l, r)); </script> |
8
Time Complexity: O(r)
Auxiliary Space: O(1), since no extra space has been taken.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!