Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

JavaScript หมายเลขหลงตัวเอง


เลขหลงตัวเอง

ตัวเลขหลงตัวเอง ในฐานตัวเลขที่กำหนด b คือตัวเลขที่เป็นผลรวมของหลักของตัวเอง แต่ละตัวยกกำลังของจำนวนหลัก

ตัวอย่างเช่น −

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

ในทำนองเดียวกัน

1 = 1^1 = 1

แนวทาง

ก่อนอื่นเราจะนับจำนวนหลักโดยใช้ while loop จากนั้นในขณะที่วนซ้ำอีก เราจะเลือกตัวเลขสุดท้ายของตัวเลขและเพิ่มกำลัง (นับ) ให้กับผลรวมของตัวแปร หลังจากวนซ้ำ เราคืนค่า aboolean เพื่อตรวจสอบว่าผลรวมเท่ากับตัวเลขหรือไม่

รหัสสำหรับวิธีนี้จะเป็น -

ตัวอย่าง

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

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

true
true
false
false