1134. Armstrong Number
선택한 UI 언어에 맞게 문제 텍스트를 러시아어에서 번역합니다. 코드는 변경하지 않습니다.
given 정수 n, return true, если и только если оно является numberм Армстронга.
k-значное number n является numberм Армстронга, если сумма k-й степени каждой его цифры равна n.
예제:
Input: n = 153
Output: true
Explanation: 153 is a 3-digit number, and 153 = 1^3 + 5^3 + 3^3.
C# 해법
매칭됨/원본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++ 해법
자동 초안, 제출 전 검토#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 해법
매칭됨/원본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 해법
매칭됨/원본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 해법
매칭됨/원본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
활성 채용 with overlapping task tags are 표시됨.
아직 활성 채용이 없습니다.