Todos os desafios
Fácil 0 resolvidos 0% de aceitação

Número de Armstrong

Verifique se um número é igual à soma de seus dígitos elevados à quantidade de dígitos.

Um número com k dígitos é um número de Armstrong se a soma de cada dígito elevado à potência k for igual ao próprio número. Por exemplo, 153 = 1³ + 5³ + 3³.

Implemente is_armstrong(n).

Entrada

n: Um inteiro não negativo.

Saída

Retorne true se n for um número de Armstrong.

Restrições

0 ≤ n ≤ 10¹⁸

Exemplos

Exemplo 1
Entrada:
n = 153

Saída esperada:
expected = True
Entrada:
long long n = 153;

Saída esperada:
bool expected = true;
Entrada:
long n = 153;

Saída esperada:
bool expected = true;

Explicação

1³ + 5³ + 3³ = 1 + 125 + 27 = 153.

Exemplo 2
Entrada:
n = 10

Saída esperada:
expected = False
Entrada:
long long n = 10;

Saída esperada:
bool expected = false;
Entrada:
long n = 10;

Saída esperada:
bool expected = false;

Explicação

1² + 0² = 1, que não é 10.

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.