Trong hệ thập phân, các số thực chia thành hai nhóm: Số hữu tỉ và số vô tỉ.
Đối với bài này chỉ bàn về số hữu tỉ - số viết được dạng p/q (q ≠ 0). Ví dụ: 14, 4.6, 3.33333...
Số hữu tỉ chia thêm thành:
- Số thập phân hữu hạn (terminating)
- Số thập phân vô hạn tuần hoàn (repeating)
Phân loại dựa trên kết quả chia p cho q:
- Được số hữu hạn khi và chỉ khi thừa số nguyên tố của q chỉ có 2 và 5
- Được số tuần hoàn nếu thừa số nguyên tố của q chứa số khác 2, 5
Chúng ta cần viết hàm nhận vào số q, trả về true nếu cho số thập phân hữu hạn, false nếu ngược lại.
Ví dụ
Dưới đây là đoạn code:
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));Kết quả
Đoạn code sẽ in ra console:
true