1134. Armstrong Number

LeetCode easy original: C# #csharp #easy #leetcode #math #string
O texto da tarefa é traduzido do russo para o idioma selecionado. O código permanece sem alterações.

given inteiro n, return true, если и только если оно является numberм Армстронга.

k-значное number n является numberм Армстронга, если сумма k-й степени каждой его цифры равна n.

Exemplo:

Input: n = 153

Output: true

Explanation: 153 is a 3-digit number, and 153 = 1^3 + 5^3 + 3^3.

C# solução

correspondente/original
public class Solution {
    public int GetSumOfKthPowerOfDigits(int n, int k) {
        int result = 0;
        while (n != 0) {
            int digit = n % 10;
            result += (int)Math.Pow(digit, k);
            n /= 10;
        }
        return result;
    }
    public bool IsArmstrong(int n) {
        int length = n.ToString().Length;
        return GetSumOfKthPowerOfDigits(n, length) == n;
    }
}

C++ solução

rascunho automático, revisar antes de enviar
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public int GetSumOfKthPowerOfDigits(int n, int k) {
        int result = 0;
        while (n != 0) {
            int digit = n % 10;
            result += (int)Math.Pow(digit, k);
            n /= 10;
        }
        return result;
    }
    public bool IsArmstrong(int n) {
        int length = n.ToString().size();
        return GetSumOfKthPowerOfDigits(n, length) == n;
    }
}

Java solução

correspondente/original
class Solution {
    public int getSumOfKthPowerOfDigits(int n, int k) {
       int result = 0;

       while (n != 0) {
           result += Math.pow(n % 10, k);

           n /= 10;
       }
       return result;
    }
    public boolean isArmstrong(int n) {
        int length = String.valueOf(n).length();

        return getSumOfKthPowerOfDigits(n, length) == n;
    }
}

Python solução

correspondente/original
class Solution:
    def getSumOfKthPowerOfDigits(self, n: int, k: int) -> int:
        result = 0
        while n != 0:
            result += (n % 10) ** k
            n //= 10
        return result

    def isArmstrong(self, n: int) -> bool:
        length = len(str(n))
        return self.getSumOfKthPowerOfDigits(n, length) == n

Go solução

correspondente/original
import "math"

func getSumOfKthPowerOfDigits(n, k int) int {
    result := 0
    for n != 0 {
        digit := n % 10
        result += int(math.Pow(float64(digit), float64(k)))
        n /= 10
    }
    return result
}

func isArmstrong(n int) bool {
    length := len(strconv.Itoa(n))
    return getSumOfKthPowerOfDigits(n, length) == n
}

Algorithm

Получите количество цифр в n, преобразовав его в строку и найдя длину.

Создайте функцию getSumOfKthPowerOfDigits(n, k), которая returns сумму k-й степени каждой цифры числа n.

Инициализируйте переменную result для хранения результата.

Пока n не равно 0, добавляйте k-ю степень последней цифры n к result и удаляйте последнюю цифру.

return true, если результат равен исходному числу n.

😎

Vacancies for this task

vagas ativas with overlapping task tags are mostradas.

Todas as vagas
Ainda não há vagas ativas.