Given an array arr of N elements and an integer K, the task is to count all the elements whose length is a multiple of K.
Examples:
Input: arr[]={1, 12, 3444, 544, 9}, K = 2 Output: 2 Explanation: There are 2 numbers whose digit count is multiple of 2 {12, 3444}. Input: arr[]={12, 345, 2, 68, 7896}, K = 3 Output: 1 Explanation: There is 1 number whose digit count is multiple of 3 {345}.
Approach:
- Traverse the numbers in the array one by one
- Count the digits of every number in the array
- Check if its digit count is a multiple of K or not.
Below is the implementation of the above approach:
C++
// C++ implementation of above approach #include <bits/stdc++.h> using namespace std; // Function to find // digit count of numbers int digit_count( int x) { int sum = 0; while (x) { sum++; x = x / 10; } return sum; } // Function to find the count of numbers int find_count(vector< int > arr, int k) { int ans = 0; for ( int i : arr) { // Get the digit count of each element int x = digit_count(i); // Check if the digit count // is divisible by K if (x % k == 0) // Increment the count // of required numbers by 1 ans += 1; } return ans; } // Driver code int main() { vector< int > arr = { 12, 345, 2, 68, 7896 }; int K = 2; cout << find_count(arr, K); return 0; } |
Java
// Java implementation of above approach class GFG{ // Function to find // digit count of numbers static int digit_count( int x) { int sum = 0 ; while (x > 0 ) { sum++; x = x / 10 ; } return sum; } // Function to find the count of numbers static int find_count( int []arr, int k) { int ans = 0 ; for ( int i : arr) { // Get the digit count of each element int x = digit_count(i); // Check if the digit count // is divisible by K if (x % k == 0 ) // Increment the count // of required numbers by 1 ans += 1 ; } return ans; } // Driver code public static void main(String[] args) { int []arr = { 12 , 345 , 2 , 68 , 7896 }; int K = 2 ; System.out.print(find_count(arr, K)); } } // This code is contributed by 29AjayKumar |
Python3
# Python3 implementation of above approach # Function to find # digit count of numbers def digit_count(x): sum = 0 while (x): sum + = 1 x = x / / 10 return sum # Function to find the count of numbers def find_count(arr,k): ans = 0 for i in arr: # Get the digit count of each element x = digit_count(i) # Check if the digit count # is divisible by K if (x % k = = 0 ): # Increment the count # of required numbers by 1 ans + = 1 return ans # Driver code if __name__ = = '__main__' : arr = [ 12 , 345 , 2 , 68 , 7896 ] K = 2 print (find_count(arr, K)) # This code is contributed by Surendra_Gangwar |
C#
// C# implementation of above approach using System; public class GFG{ // Function to find // digit count of numbers static int digit_count( int x) { int sum = 0; while (x > 0) { sum++; x = x / 10; } return sum; } // Function to find the count of numbers static int find_count( int []arr, int k) { int ans = 0; foreach ( int i in arr) { // Get the digit count of each element int x = digit_count(i); // Check if the digit count // is divisible by K if (x % k == 0) // Increment the count // of required numbers by 1 ans += 1; } return ans; } // Driver code public static void Main(String[] args) { int []arr = { 12, 345, 2, 68, 7896 }; int K = 2; Console.Write(find_count(arr, K)); } } // This code is contributed by Rajput-Ji |
Javascript
<script> // JavaScript implementation of above approach // Function to find // digit count of numbers function digit_count(x) { let sum = 0; while (x) { sum++; x = x / 10; } return sum; } // Function to find the count of numbers function find_count(arr, k) { let ans = 0; for (let i of arr) { // Get the digit count of each element let x = digit_count(i); // Check if the digit count // is divisible by K if (x % k == 0) // Increment the count // of required numbers by 1 ans += 1; } return ans; } // Driver code let arr = [ 12, 345, 2, 68, 7896 ]; let K = 2; document.write(find_count(arr, K)); // This code is contributed by _saurabh_jaiswal </script> |
3
Time complexity:- O(N*log10M), where N is the size of array, and M is the largest number in the array.
Space complexity:- O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!