Given a number N in decimal base, find the sum of digits in any base B
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: 9
Explanation:
(100)8 = 144
Sum(144) = 1 + 4 + 4 = 9
Input: N = 50, B = 2
Output: 3
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)