📜  给定一个以十进制为基数的数字N,请找到以任何基数B为单位的数字总和

📅  最后修改于: 2021-05-06 08:34:19             🧑  作者: Mango

给定一个以十进制为底的数字N ,任务是找到以任何底数B为底的数字的总和。
例子:

方法:通过对基数B的数字N进行模运算,找到单位数字,然后用N = N / B再次更新数字,并在每一步中相加单位数字来更新总和。
下面是上述方法的实现

C++
// C++ Implementation to Compute Sum of
// Digits of Number N in Base B
 
#include 
using namespace std;
 
// Function to compute sum of
// Digits of Number N in base B
int sumOfDigit(int n, int b)
{
     
    // Initilize 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)
{
     
    // Initilize 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):
 
    # Initilize 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)
{
     
    // Initilize 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


输出:
3