ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้ตัวเลข num เป็นอาร์กิวเมนต์แรกและตัวเดียวเท่านั้น
หน้าที่ของเราควรทำสองสิ่ง
- ก่อนอื่น ควรตรวจสอบว่าจำนวนนั้นเป็นจำนวนเฉพาะที่มี 10 หรือไม่ หากไม่ใช่ เราควรคืนค่า -1 (ตัวเลขเป็นจำนวนเฉพาะกับตัวเลขอื่นใดหากปัจจัยร่วมเพียงอย่างเดียวที่พวกเขาแบ่งปันคือ 1)
- หากตัวเลขเป็นจำนวนเฉพาะที่มี 10 เราก็ควรคืนค่าความยาวของส่วนทศนิยมซึ่งซ้ำกันเมื่อจำนวนนั้นหาร 1
ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −
ป้อนข้อมูล
const num = 123;
ผลผลิต
const output = 5;
คำอธิบายผลลัพธ์
เพราะเลข 123 เป็นจำนวนเฉพาะกับ 10 แน่นอน
และเมื่อเราหาร 1 ด้วย 123 เราจะได้ –
1 / 123 = 0.008130081300813…
นี่แสดงให้เห็นชัดเจนว่าส่วนทศนิยม 00813 มีการทำซ้ำอย่างไม่สิ้นสุดและความยาวของมันคือ 5 ดังนั้นผลลัพธ์ของเราคือ 5
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
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)); ผลลัพธ์
5