Vấn đề
Chúng tôi được yêu cầu viết một hàm JavaScript lấy một số, num, làm đối số đầu tiên và duy nhất
Chức năng của chúng ta phải thực hiện hai điều
- Trước hết, cần kiểm tra xem số đó có phải là số nguyên tố với 10 hay không, nếu không, sẽ trả về -1 (một số là số nguyên tố với bất kỳ số nào khác nếu tỷ lệ nhân tử chung duy nhất là 1).
- Nếu số là số nguyên tố với 10, thì chúng ta sẽ trả về độ dài của phần thập phân mà chính nó lặp lại, khi số đó chia hết cho 1.
Ví dụ:nếu đầu vào của hàm là -
Đầu vào
const num = 123;
Đầu ra
const output = 5;
Giải thích đầu ra
Bởi vì số 123 là số nguyên tố chắc chắn với 10
Và khi chúng ta chia 1 cho 123, chúng ta nhận được -
1 / 123 = 0.008130081300813…
Điều này cho thấy rõ ràng rằng phần thập phân 00813 đang được lặp lại vô hạn và độ dài của nó là 5, do đó đầu ra của chúng ta là 5.
Ví dụ
Sau đây là mã -
const num = 123; const findRepeatingPart = (num = 1) => { if(num % 2 === 0 || num % 5 === 0){ return -1; } else { let res = 10 % num, count = 1; while(res != 1){ res = res * 10 % num; count++; }; return count; } }; console.log(findRepeatingPart(num));
Đầu ra
5