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

การนับตัวหารของตัวเลขโดยใช้ JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลขและส่งคืนการนับของตัวหาร

ป้อนข้อมูล

const num = 30;

ผลผลิต

const output = 8;

เพราะตัวหารคือ −

1, 2, 3, 5, 6, 10, 15, 30

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const num = 30;
const countDivisors = (num = 1) => {
   if (num === 1) return num
      let divArr = [[2, 0]]
      let div = divArr[0][0]
   while (num > 1) {
      if (num % div === 0) {
         for (let i = 0; divArr.length; i++) {
            if (divArr[i][0] === div) {
               divArr[i][1] += 1
               break
            } else {
               if (i === divArr.length - 1) {
                  divArr.push([div, 1])
                  break
               }
            }
         }
         num /= div
      } else {
         div += 1
      }
   }
   for (let i = 0; i < divArr.length; i++) {
      num *= divArr[i][1] + 1
   }
   return num
}
console.log(countDivisors(num));

ผลลัพธ์

8