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!
