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

জাভাস্ক্রিপ্টে নির্দিষ্ট দূরত্বের k-প্রাইম নম্বর জোড়া খুঁজে বের করা

K-প্রাইম নম্বর

একটি প্রাকৃতিক সংখ্যা কে k-প্রাইম বলা হয় যদি তার ঠিক kটি প্রাইম ফ্যাক্টর থাকে, multiplicity সহ গণনা করলে।

অর্থাৎ ৪-এর একমাত্র প্রাইম ফ্যাক্টর ২ হলেও সেটি ২-প্রাইম নম্বর, কারণ ৪ = ২ × ২ এবং দুটি ২ আলাদা আলাদা গড়ে কাউন্ট হবে।

একইভাবে, ৮ হলো ৩-প্রাইম কারণ ৮ = ২ × ২ × ২।

সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা k, একটি দূরত্ব (distance) এবং একটি রেঞ্জ নেবে।

ফাংশনটি রেঞ্জের ভিতরে এমন k-প্রাইম নম্বর জোড়া খুঁজে বের করবে যাদের পারস্পরিক দূরত্ব নির্দিষ্ট দূরত্বের সমান।

উদাহরণ

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

const k = 2; 
const step = 2; 
const range = [0, 50]; 
const kPrimeSteps = (k = 1, step = 1, [start, end]) => { 
   const res = []; 
   let i = start; 
   const findLen = (n = 1) => { 
      let count = 0, i = 2; 
      while (i * i <= n) { 
          while (n % i === 0) { 
            count++; 
            n /= i; 
          } 
          i++; 
      } 
      if (n > 1) count++; 
      return count; 
   } 
   while (i <= end - step) { 
      if ((findLen(i) == k && findLen(i+step) == k)) 
      res.push([i, i+step]); 
      i++; 
   } 
   return res; 
}; 
console.log(kPrimeSteps(k, step, range));

আউটপুট

কনসোল আউটপুট:

[ [ 4, 6 ], [ 33, 35 ] ]
  1. জাভাস্ক্রিপ্টে reduce() ব্যবহার করে অ্যারে উপাদানগুলোর গুণফল বের করা

  2. জাভাস্ক্রিপ্টে নির্দিষ্ট গ্যাপ সহ দুটি প্রাইম নম্বর খুঁজে বের করা

  3. জাভাস্ক্রিপ্টে রেঞ্জে আপসাইড ডাউন নম্বর (১৮০° ঘোরালে একই) গণনা

  4. জাভাস্ক্রিপ্টে রেঞ্জের মধ্যে নির্দিষ্ট সংখ্যা দিয়ে বিভাজ্য সংখ্যার গণনা