C Program to count the number of zeros from 0 to N
Given a number N, the task is to write C program to count the number of zeros from 0 to N. Examples:
Input: N = 10 Output: 2 Explanation: The number with zeros are 0, 10 till 10. Hence the count of zeros is 2. Input: N = 20 Output: 3 Explanation: The number with zeros are 0, 10, 20 till 20. Hence the count of zeros is 3.
Approach:
- Iterate from 0 to N.
- For each number do the following:
- Store the above number in a variable temp.
- For each digit in temp, if the digit is zero then increment the zero count by 1.
- Print the count of zeros calculated in the above steps.
Below is the implementation of the above approach:
C
// C program for the above approach #include <stdio.h> // Function to count zero in temp int countZero( int temp) { int cnt = 0; // Iterate each digit in temp while (temp) { // If digit is zero, increment // the count if (temp % 10 == 0) cnt++; temp /= 10; } // Return the final count return cnt; } // Function that counts the number of // zeros from 0 to N void countZerostillN( int N) { // To store the finalCount of zero int finalCount = 1; // Iterate from 0 to N for ( int i = 1; i <= N; i++) { // Function call to count the // zeros in variable i finalCount += countZero(i); } // Print the final Count of zero printf ("%d", finalCount); } // Driver Code int main() { // Given number int N = 20; // Function Call countZerostillN(N); } |
Output:
3
Time Complexity: O(N*log10N)
Auxiliary Space: O(1)
Contact Us