কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে রিপিটিং ডেসিমাল অংশের দৈর্ঘ্য খুঁজে বের করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা num প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে নেবে।

ফাংশনটি দুটি কাজ করবে –

  • প্রথমে চেক করবে যে সংখ্যাটি ১০-এর সাথে প্রাইম কিনা, যদি না হয় তবে -1 ফেরত দেবে (এক সংখ্যা অন্য সংখ্যার সাথে প্রাইম হলে যদি তাদের একমাত্র সাধারণ ফ্যাক্টর ১ হয়)।
  • যদি সংখ্যা ১০-এর সাথে প্রাইম হয়, তবে ১ কে সেই সংখ্যা দিয়ে ভাগ করলে ডেসিমাল অংশের যে অংশ বারবার রিপিট হয় তার দৈর্ঘ্য ফেরত দেবে।

উদাহরণস্বরূপ, যদি ইনপুট হয় –

ইনপুট

const num = 123;

আউটপুট

const output = 5;

আউটপুট ব্যাখ্যা

কারণ ১২৩ নিশ্চিতভাবে ১০-এর সাথে প্রাইম।

যদি আমরা ১ কে ১২৩ দিয়ে ভাগ করি, তবে পাওয়া যায় –

1 / 123 = 0.008130081300813…

এটি স্পষ্ট দেখাচ্ছে যে ডেসিমাল অংশ 00813 অনন্তবার রিপিট হচ্ছে এবং এর দৈর্ঘ্য ৫, তাই আউটপুট ৫।

উদাহরণ

নিচে কোডটি দেওয়া হল –

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

  1. জাভাস্ক্রিপ্টে ট্রায়্যাঙ্গুলার নম্বর (Triangular Number) যাচাই করা

  2. জাভাস্ক্রিপ্টে সংখ্যা থেকে দশমিক অংশ আলাদা করা

  3. জাভাস্ক্রিপ্টে দুটি অ্যারেতে সর্বোচ্চ সাধারণ সাবঅ্যারের দৈর্ঘ্য

  4. জাভাস্ক্রিপ্টে নির্দিষ্ট দৈর্ঘ্যের সাবঅ্যারের সর্বোচ্চ গড় বের করা