fork download
  1. #include <stdio.h>
  2.  
  3. int count_zeros_recursive(int num)
  4. {
  5. int res = 0;
  6. int num_without_lowest_digit = num/10;
  7.  
  8. if(num_without_lowest_digit == 0)
  9. {
  10. res = (num == 0);
  11. }
  12. else
  13. {
  14. res = count_zeros_recursive(num_without_lowest_digit);
  15. if (num % 10 == 0)
  16. {
  17. res++;
  18. }
  19. }
  20.  
  21. return res;
  22. }
  23.  
  24.  
  25. int main(void) {
  26. int nums[] = { 202, 7, 100, 10500, 10234, 10000, -1, -100, 1234567, -202, 0};
  27. int i;
  28.  
  29. for (i=0; i < sizeof(nums)/sizeof(nums[0]); ++i)
  30. {
  31. printf("Number %d has %d zeros\n", nums[i], count_zeros_recursive(nums[i]));
  32. }
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
Number 202 has 1 zeros
Number 7 has 0 zeros
Number 100 has 2 zeros
Number 10500 has 3 zeros
Number 10234 has 1 zeros
Number 10000 has 4 zeros
Number -1 has 0 zeros
Number -100 has 2 zeros
Number 1234567 has 0 zeros
Number -202 has 1 zeros
Number 0 has 1 zeros