Computer >> Máy Tính >  >> Lập trình >> Javascript

JavaScript Số tự thuật

Số tự ái

Một số tự ái trong một số đã cho, cơ số b là một số là tổng các chữ số của chính nó, mỗi chữ số được nâng lên thành lũy thừa của số chữ số.

Ví dụ -

153 = 1^3 + 5^3 + 3^3 = 1+125+27 = 153

Tương tự,

1 = 1^1 = 1

Phương pháp tiếp cận

Đầu tiên chúng ta sẽ đếm số chữ số bằng vòng lặp while. Sau đó, với một vòng lặp while khác, chúng tôi chọn chữ số cuối của số và cộng lũy ​​thừa (số đếm) của nó thành một tổng biến. Sau vòng lặp, chúng tôi trả lại người dân để kiểm tra xem tổng có bằng số hay không.

Mã cho cách tiếp cận này sẽ là -

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

true
true
false
false