Count numbers from 1 to n that have 4 as a digit in C++


In this tutorial, we will be discussing a program to find the numbers from 1 to n that have 4 as a digit.

For this we will be provided with a number n. Our task is to count all the numbers which have 4 as one of their digits and print it out.

Example

 Live Demo

#include<iostream>
using namespace std;
bool has4(int x);
//returning sum of digits in the given numbers
int get_4(int n){
   int result = 0;
   //calculating the sum of each digit
   for (int x=1; x<=n; x++)
      result += has4(x)? 1 : 0;
   return result;
}
//checking if 4 is present as a digit
bool has4(int x) {
   while (x != 0) {
      if (x%10 == 4)
         return true;
      x = x /10;
   }
   return false;
}
int main(){
   int n = 328;
   cout << "Count of numbers from 1 to " << n
      << " that have 4 as a digit is "
      << get_4(n) << endl;
   return 0;
}

Output

Count of numbers from 1 to 328 that have 4 as a digit is 60

Updated on: 05-Feb-2020

241 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements