Suma de dígitos de un número dado a una potencia dada

Dado un número, necesitamos encontrar la suma de todos los dígitos de un número que obtenemos después de elevar el número a una potencia específica.
Ejemplos: 
 

Input: number = 5, power = 4 
Output: 13
Explanation:
Raising 5 to the power 4 we get 625.
Now adding all the digits = 6 + 2 + 5


Input: number = 9, power = 5
Output: 27
Explanation:
Raising 9 to the power 5 we get 59049.
Now adding all the digits = 5 + 9 + 0 + 4 + 9

Se explica el enfoque para Python. hemos utilizado la función pow() para calcular la base del valor de la potencia. Luego hemos extraído cada dígito como una string usando el método str(). Dado que no podemos calcular la suma de las strings, convertimos cada dígito de la string nuevamente en un número entero usando el método int(). Finalmente, usamos la función sum() para obtener la suma de todos los dígitos. Esta solución se verá muy simple en Python pero no será tan corta en otros lenguajes. Después de ejecutar ambos códigos, se puede comparar el tiempo transcurrido y la memoria utilizada en ambos idiomas, es decir, Python y Java. 
A continuación se muestra la implementación de la idea anterior:
 

C++

// CPP program to illustrate the given problem
#include<bits/stdc++.h>
using namespace std;
 
int calculate(int n, int power)
{
    int sum = 0;
    int bp = (int)pow(n, power);
    while (bp != 0) {
        int d = bp % 10;
        sum += d;
        bp /= 10;
    }
    return sum;
}
 
// Driver Code
int main()
{
    int n = 5;
    int power = 4;
    cout << calculate(n, power);
}
 
// This code is contributed by Nikita Tiwari

Java

// Java program to illustrate the given problem
public class base_power {
    static int calculate(int n, int power)
    {
        int sum = 0;
        int bp = (int)Math.pow(n, power);
        while (bp != 0) {
            int d = bp % 10;
            sum += d;
            bp /= 10;
        }
        return sum;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        int n = 5;
        int power = 4;
        System.out.println(calculate(n, power));
    }
}

Python3

# Python program to illustrate the given problem
def calculate(n, power):
    return sum([int(i) for i in str(pow(n, power))])
     
# Driver Code
n = 5
power = 4
print (calculate(n, power))

C#

// C# program to find sum of digits of
// a given number to a given power
using System;
 
public class base_power
{
     
    // Function to calculate sum
    static int calculate(int n, int power)
    {
        int sum = 0;
        int bp = (int)Math.Pow(n, power);
        while (bp != 0)
        {
            int d = bp % 10;
            sum += d;
            bp /= 10;
        }
        return sum;
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 5;
        int power = 4;
        Console.WriteLine(calculate(n, power));
    }
}
 
// This code is contributed by vt_m.

PHP

<?php
// PHP program to illustrate
// the given problem
 
function calculate($n, $power)
{
     
    $sum = 0;
    $bp = (int)pow($n, $power);
    while ($bp != 0)
    {
        $d = $bp % 10;
        $sum += $d;
        $bp /= 10;
    }
    return $sum;
}
 
// Driver Code
$n = 5;
$power = 4;
echo(calculate($n, $power));
 
// This code is contributed by Ajit.
?>

Javascript

<script>
 
// Program to illustrate the given problem
  
   function calculate( n,  power)
{
     sum = 0;
     bp = Math.pow(n, power);
    while (bp != 0) {
         d = bp % 10;
        sum =sum+ d;
        bp = Math.floor(bp/ 10);
    }
    return sum;
}
   
// Driver Code
 
     n = 5;
     power = 4;
    document.write(calculate(n, power));
     
// This code is contributed by simranarora5sos
   
</script>

Producción: 

13

Este artículo es una contribución de Chinmoy Lenka . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *