Dado un número N en base decimal, la tarea es encontrar la suma de los dígitos del número en cualquier base B.
Ejemplos:
Entrada: N = 100, B = 8
Salida: 9
Explicación:
(100) 8 = 144
Sum(144) = 1 + 4 + 4 = 9
Entrada: N = 50, B = 2
Salida: 3
Explicación:
(50) 2 = 110010
Suma(110010) = 1 + 1 + 0 + 0 + 1 + 0 = 3
Enfoque: encuentre el dígito de la unidad realizando la operación de módulo en el número N por la base B y actualizando el número nuevamente por N = N / B y actualice la suma agregando el dígito de la unidad en cada paso.
A continuación se muestra la implementación del enfoque anterior.
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>
3
Complejidad de tiempo: O(N), N = número de dígitos
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por ANKITKUMAR34 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA