Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

หาตัวเลขพิเศษ: ทศนิยมสิ้นสุด (terminating decimal) - JavaScript

ในระบบฐานสิบ ตัวเลขจริงแบ่งได้ 2 กลุ่ม: จำนวนตรรกยะ (Rational) และ จำนวน無理ตรรกยะ (Irrational)

สำหรับปัญหานี้ เราพูดถึงเฉพาะจำนวนตรรกยะ คือ ตัวเลขที่เขียนในรูป p/q (q ≠ 0) ได้ เช่น 14, 4.6, 3.333...

จำนวนตรรกยะแบ่งเพิ่มอีก 2 กลุ่ม:

  • ทศนิยมสิ้นสุด (Terminating decimal)
  • ทศนิยมซ้ำ (Repeating decimal)

การแบ่งขึ้นอยู่กับผลหาร p/q กฎคือ:

  • ได้ทศนิยมสิ้นสุดก็ต่อเมื่อเฉพาะตัวประกอบเฉพาะของ q เป็น 2 และ 5 เท่านั้น
  • ได้ทศนิยมซ้ำถ้าตัวประกอบของ q มีตัวอื่นนอกจาก 2 และ 5

เราต้องเขียนฟังก์ชันที่รับตัวเลข q และคืนค่า true ถ้าได้ทศนิยมสิ้นสุด false ถ้าไม่ใช่

ตัวอย่าง

โค้ดต่อไปนี้เป็นตัวอย่าง:

const num = 1250;

const isTerminating = num => {
  while(num !== 1){
    if(num % 2 === 0){
      num /= 2;
    }else if(num % 5 === 0){
      num /= 5;
    }else{
      return false;
    };
  };
  return true;
};

console.log(isTerminating(num));

ผลลัพธ์

จะแสดงผลในคอนโซลดังนี้:

true