समस्या
हमें एक 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