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

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

একটি সংখ্যার সব ইউনিক প্রাইম ফ্যাক্টর বের করে অ্যারে আকারে রিটার্ন করা।

উদাহরণ

105 = 3 × 5 × 7
Prime factors: [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) {
      if (isPrime(i)) factors.push(i);
      while (n % i === 0) n /= i;
    }
  }
  
  // বাকি প্রাইম
  if (n > 1) factors.push(n);
  
  return factors;
};

// অপ্টিমাইজড (প্রাইম চেক ছাড়া)
const primeFactorsFast = (num) => {
  const factors = [];
  let n = Math.abs(num);
  
  for (let i = 2; i * i <= n; i++) {
    if (n % i === 0) {
      factors.push(i);
      while (n % i === 0) n /= i;
    }
  }
  if (n > 1) factors.push(n);
  return factors;
};

// টেস্ট
console.log(findPrimeFactors(105));      // [3, 5, 7]
console.log(primeFactorsFast(105));      // [3, 5, 7]
console.log(primeFactorsFast(18));       // [2, 3]
console.log(primeFactorsFast(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(105)); // [3, 5, 7]
console.log(primeFactorization(18));  // [2, 3, 3]
console.log(primeFactorization(100)); // [2, 2, 5, 5]

উৎপাদন

[3, 5, 7]
  1. জাভাস্ক্রিপ্টে Number.NEGATIVE_INFINITY প্রপার্টি

  2. জাভাস্ক্রিপ্ট Array shift() মেথড

  3. জাভাস্ক্রিপ্ট Array reverse() মেথড

  4. জাভাস্ক্রিপ্ট array.keys() মেথড: ব্যবহার এবং উদাহরণ