Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Số Narcissistic (Armstrong) trong JavaScript

Số Narcissistic

Số Narcissistic (còn gọi số Armstrong) trong cơ số b là số bằng tổng các chữ số của nó lũy thừa số lượng chữ số.

Ví dụ: 153 = 1^3 + 5^3 + 3^3 = 1+125+27 = 153. Cũng: 1 = 1^1 = 1.

Cách tiếp cận

Đếm số chữ số bằng while. While thứ hai: tách chữ số cuối, cộng lũy thừa (số chữ số) vào sum. Cuối cùng so sánh sum với số gốc.

Ví dụ

const isNarcissistic = (num) => {
  let m = 1, count = 0;
  while (num / m > 1) {
    m *= 10;
    count++;
  }
  let sum = 0, temp = num;
  while (temp) {
    sum += Math.pow(temp % 10, count);
    temp = Math.floor(temp / 10);
  }
  return sum === num;
};

console.log(isNarcissistic(153));
console.log(isNarcissistic(1634));
console.log(isNarcissistic(1433));
console.log(isNarcissistic(342));

Kết quả

Đầu ra trong console sẽ là:

true true false false