ปัญหา
เราจำเป็นต้องเขียนฟังก์ชัน 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