Skip to content
Related Articles

Related Articles

Given a number N in decimal base, find the sum of digits in any base B

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Easy
  • Last Updated : 06 Nov, 2021

Given a number N in decimal base, the task is to find the sum of digits of the number in any base B
Examples: 
 

Input: N = 100, B = 8 
Output:
Explanation: 
(100)8 = 144 
Sum(144) = 1 + 4 + 4 = 9
Input: N = 50, B = 2 
Output:
Explanation: 
(50)2 = 110010 
Sum(110010) = 1 + 1 + 0 + 0 + 1 + 0 = 3 
 

 

Approach: Find unit digit by performing modulo operation on number N by base B and updating the number again by N = N / B and update sum by adding the unit digit at each step. 
Below is the implementation of above approach 
 

C++




// C++ Implementation to Compute Sum of
// Digits of Number N in Base B
 
#include <iostream>
using namespace std;
 
// Function to compute sum of
// Digits of Number N in base B
int sumOfDigit(int n, int b)
{
     
    // Initialize sum with 0
    int unitDigit, sum = 0;
    while (n > 0) {
         
        // Compute unit digit of the number
        unitDigit = n % b;
 
        // Add unit digit in sum
        sum += unitDigit;
 
        // Update value of Number
        n = n / b;
    }
    return sum;
}
 
// Driver function
int main()
{
    int n = 50;
    int b = 2;
    cout << sumOfDigit(n, b);
    return 0;
}

Java




// Java Implementation to Compute Sum of
// Digits of Number N in Base B
class GFG
{
 
// Function to compute sum of
// Digits of Number N in base B
static int sumOfDigit(int n, int b)
{
     
    // Initialize sum with 0
    int unitDigit, sum = 0;
    while (n > 0)
    {
         
        // Compute unit digit of the number
        unitDigit = n % b;
 
        // Add unit digit in sum
        sum += unitDigit;
 
        // Update value of Number
        n = n / b;
    }
    return sum;
}
 
// Driver code
public static void main(String[] args)
{
    int n = 50;
    int b = 2;
    System.out.print(sumOfDigit(n, b));
}
}
 
// This code is contributed by PrinciRaj1992

Python3




# Python3 Implementation to Compute Sum of
# Digits of Number N in Base B
 
# Function to compute sum of
# Digits of Number N in base B
def sumOfDigit(n, b):
 
    # Initialize sum with 0
    unitDigit = 0
    sum = 0
    while (n > 0):
         
        # Compute unit digit of the number
        unitDigit = n % b
 
        # Add unit digit in sum
        sum += unitDigit
 
        # Update value of Number
        n = n // b
 
    return sum
 
# Driver code
n = 50
b = 2
print(sumOfDigit(n, b))
 
# This code is contributed by ApurvaRaj

C#




// C# Implementation to Compute Sum of
// Digits of Number N in Base B
using System;
 
class GFG
{
 
// Function to compute sum of
// Digits of Number N in base B
static int sumOfDigit(int n, int b)
{
     
    // Initialize sum with 0
    int unitDigit, sum = 0;
    while (n > 0)
    {
         
        // Compute unit digit of the number
        unitDigit = n % b;
 
        // Add unit digit in sum
        sum += unitDigit;
 
        // Update value of Number
        n = n / b;
    }
    return sum;
}
 
// Driver code
public static void Main(String[] args)
{
    int n = 50;
    int b = 2;
    Console.Write(sumOfDigit(n, b));
}
}
 
// This code is contributed by PrinciRaj1992

Javascript




<script>
 
// Javascript Implementation to Compute Sum of
// Digits of Number N in Base B
 
// Function to compute sum of
// Digits of Number N in base B
function sumOfDigit(n, b)
{
     
    // Initialize sum with 0
    var unitDigit, sum = 0;
    while (n > 0)
    {
         
        // Compute unit digit of the number
        unitDigit = n % b;
 
        // Add unit digit in sum
        sum += unitDigit;
 
        // Update value of Number
        n = parseInt(n / b);
    }
    return sum;
}
 
// Driver function
var n = 50;
var b = 2;
document.write(sumOfDigit(n, b));
 
// This code is contributed by rutvik_56.
</script>

Output: 

3

 

Time Complexity: O(N), N = number of digits

Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!