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

সংখ্যার সব প্রাইম ফ্যাক্টর বের করা - JavaScript

একটি সংখ্যার সব প্রাইম ফ্যাক্টর (যে প্রাইম সংখ্যাগুলো সংখ্যাটিকে বিভাজ্য করে) বের করা।

উদাহরণ

18 = 2 × 3 × 3
প্রাইম ফ্যাক্টর: [2, 3] (ইউনিক)

105 = 3 × 5 × 7
প্রাইম ফ্যাক্টর: [3, 5, 7]

সমাধান

const isPrime = (n) => {
  if (n < 2) return false;
  if (n === 2) return true;
  if (n % 2 === 0) return false;
  
  for (let i = 3; i <= Math.sqrt(n); i += 2) {
    if (n % i === 0) return false;
  }
  return true;
};

const findPrimeFactors = (num) => {
  const factors = [];
  let n = Math.abs(num);
  
  // ২ দিয়ে ভাগ করা
  if (n % 2 === 0) {
    factors.push(2);
    while (n % 2 === 0) n /= 2;
  }
  
  // বিজোড় ফ্যাক্টর চেক
  for (let i = 3; i <= Math.sqrt(n); i += 2) {
    if (n % i === 0 && isPrime(i)) {
      factors.push(i);
      while (n % i === 0) n /= i;
    }
  }
  
  // যদি n > 1 থাকে, তবে সেটি প্রাইম
  if (n > 1) factors.push(n);
  
  return factors;
};

// আরও দক্ষ পদ্ধতি (ট্রায়াল ডিভিশন)
const primeFactorsOptimized = (num) => {
  const factors = [];
  let n = Math.abs(num);
  
  for (let i = 2; i * i <= n; i++) {
    while (n % i === 0) {
      if (!factors.includes(i)) factors.push(i);
      n /= i;
    }
  }
  
  if (n > 1) factors.push(n);
  return factors;
};

// টেস্ট
console.log(findPrimeFactors(18));      // [2, 3]
console.log(findPrimeFactors(105));     // [3, 5, 7]
console.log(primeFactorsOptimized(100)); // [2, 5]

প্রাইম ফ্যাক্টরাইজেশন (সব ফ্যাক্টর সহ মাল্টিপ্লিসিটি)

const primeFactorization = (num) => {
  const factors = [];
  let n = Math.abs(num);
  
  for (let i = 2; i * i <= n; i++) {
    while (n % i === 0) {
      factors.push(i);
      n /= i;
    }
  }
  
  if (n > 1) factors.push(n);
  return factors;
};

console.log(primeFactorization(18));  // [2, 3, 3]
console.log(primeFactorization(100)); // [2, 2, 5, 5]

উৎপাদন

[2, 3]
  1. C/C++ প্রোগ্রাম: একটি সংখ্যার ইউনিক প্রাইম ফ্যাক্টরগুলোর গুণফল বের করা

  2. C++-এ বড় সংখ্যার প্রাইম ফ্যাক্টর ও তাদের ফ্রিকোয়েন্সি

  3. একটি সংখ্যার ইউনিক প্রাইম ফ্যাক্টরের গুণফল বের করার জাভা প্রোগ্রাম

  4. পাইথনে দেওয়া সংখ্যার সব প্রাইম ফ্যাক্টর বর্ধমান ক্রমে খুঁজে বের করার প্রোগ্রাম