1134. Armstrong Number
Task text is translated from Russian for the selected interface language. Code is left unchanged.
given integer n, return true, если и только если оно является numberм Армстронга.
k-значное number n является numberм Армстронга, если сумма k-й степени каждой его цифры равна n.
Example:
Input: n = 153
Output: true
Explanation: 153 is a 3-digit number, and 153 = 1^3 + 5^3 + 3^3.
C# solution
matched/originalpublic 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++ solution
auto-draft, review before submit#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 solution
matched/originalclass 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 solution
matched/originalclass 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 solution
matched/originalimport "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
Active vacancies with overlapping task tags are shown.
There are no active vacancies yet.