Tuesday, October 7, 2025
HomeData Modelling & AICheck if given number contains a digit which is the average of...

Check if given number contains a digit which is the average of all other digits

Given an integer N, the task is to check whether N contains a digit D such that it is the average of all other digits present in N.
 

Examples:  

Input: N = 132 
Output: Yes 
Explanation: 
Since, (1 + 3)/2 = 2.

Input: N = 436 
Output: No 
Explanation: 
No such digit exists which is the average of all other digits. 

 

Approach: 
To solve the problem, follow the steps below: 
 

  • Store the sum and count of digits of N.
  • Store the digits in a Set .
  • If sum%count is 0 and the integer sum/count is present in the Set, that is sum/count is a digit of N, then print Yes. Otherwise print No.

Below is the implementation of the above approach: 
 

C++




// C++ Program to check whether a
// given number contains a digit
// which is the average of all
// other digits
#include <bits/stdc++.h>
using namespace std;
 
// Function which checks if a
// digits exists in n which
// is the average of all other digits
void check(int n)
{
    set<int> digits;
 
    int temp = n;
    int sum = 0;
    int count = 0;
    while (temp > 0) {
        // Calculate sum of
        // digits in n
        sum += temp % 10;
        // Store the digits
        digits.insert(temp % 10);
        // Increase the count
        // of digits in n
        count++;
        temp = temp / 10;
    }
 
    // If average of all digits
    // is an integer
    if (sum % count == 0
        // If the average is a digit
        // in n
        && digits.find(sum / count)
               != digits.end())
        cout << "Yes" << endl;
    // Otherwise
    else
        cout << "No" << endl;
}
 
// Driver Code
int main()
{
    int n = 42644;
    check(n);
}


Java




// Java program to check whether a
// given number contains a digit
// which is the average of all
// other digits
import java.util.*;
 
class GFG{
 
// Function which checks if a
// digits exists in n which
// is the average of all other digits
static void check(int n)
{
    HashSet<Integer> digits = new HashSet<Integer>();
 
    int temp = n;
    int sum = 0;
    int count = 0;
    while (temp > 0)
    {
         
        // Calculate sum of
        // digits in n
        sum += temp % 10;
         
        // Store the digits
        digits.add(temp % 10);
         
        // Increase the count
        // of digits in n
        count++;
        temp = temp / 10;
    }
 
    // If average of all digits
    // is an integer
    if (sum % count == 0 &&
        digits.contains(sum / count))
        System.out.print("Yes" + "\n");
         
    // Otherwise
    else
        System.out.print("No" + "\n");
}
 
// Driver Code
public static void main(String[] args)
{
    int n = 42644;
     
    check(n);
}
}
 
// This code is contributed by Rajput-Ji


Python3




# Python3 program to check whether a given
# number contains a digit which is
# the average of all other digits
 
# Function which checks if a
# digits exists in n which is
# the average of all other digits
def check (n):
 
    digits = set()
 
    temp = n
    Sum = 0
    count = 0
     
    while(temp > 0):
 
        # Calculate sum of
        # digits in n
        Sum += temp % 10
 
        # Store digits
        digits.add(temp % 10)
 
        # Increase the count of
        # digits in n
        count += 1
        temp = temp // 10
 
    # If average of all digits is integer
    if ((Sum % count == 0) and
        ((int)(Sum / count) in digits)):
        print("Yes")
    else:
        print("No")
 
# Driver code
n = 42644
 
# Function calling
check(n)
 
# This code is contributed by himanshu77


C#




// C# program to check whether a given
// number contains a digit which is the
// average of all other digits
using System;
using System.Collections.Generic;
 
class GFG{
 
// Function which checks if a
// digits exists in n which
// is the average of all other digits
static void check(int n)
{
    HashSet<int> digits = new HashSet<int>();
 
    int temp = n;
    int sum = 0;
    int count = 0;
    while (temp > 0)
    {
         
        // Calculate sum of
        // digits in n
        sum += temp % 10;
         
        // Store the digits
        digits.Add(temp % 10);
         
        // Increase the count
        // of digits in n
        count++;
        temp = temp / 10;
    }
 
    // If average of all digits
    // is an integer
    if (sum % count == 0 &&
        digits.Contains(sum / count))
        Console.Write("Yes" + "\n");
         
    // Otherwise
    else
        Console.Write("No" + "\n");
}
 
// Driver Code
public static void Main(String[] args)
{
    int n = 42644;
     
    check(n);
}
}
 
// This code is contributed by Rajput-Ji


Javascript




<script>
 
// Javascript Program to check whether a
// given number contains a digit
// which is the average of all
// other digits
 
// Function which checks if a
// digits exists in n which
// is the average of all other digits
function check(n)
{
    var digits = new Set();
 
    var temp = n;
    var sum = 0;
    var count = 0;
    while (temp > 0) {
        // Calculate sum of
        // digits in n
        sum += temp % 10;
        // Store the digits
        digits.add(temp % 10);
        // Increase the count
        // of digits in n
        count++;
        temp = parseInt(temp / 10);
    }
 
    // If average of all digits
    // is an integer
    if (sum % count == 0
        // If the average is a digit
        // in n
        && digits.has(sum / count))
        document.write( "Yes" );
    // Otherwise
    else
        document.write( "No" );
}
 
// Driver Code
var n = 42644;
check(n);
 
</script>


Output: 

Yes

 

Time Complexity: O(log10N)
Auxiliary Space: O(1) because constant space for the set is required.

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32340 POSTS0 COMMENTS
Milvus
86 POSTS0 COMMENTS
Nango Kala
6708 POSTS0 COMMENTS
Nicole Veronica
11872 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11936 POSTS0 COMMENTS
Shaida Kate Naidoo
6829 POSTS0 COMMENTS
Ted Musemwa
7090 POSTS0 COMMENTS
Thapelo Manthata
6780 POSTS0 COMMENTS
Umr Jansen
6784 POSTS0 COMMENTS