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 numbersint 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 codeint main() {    int l = 11, r = 33;    cout << countNums(l, r) ;}     // This code is contributed by AnkitRai01 | 
Java
// Java implementation of the approachclass 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 numbersdef 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 codeif __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!
