কম্পিউটার

জাভাস্ক্রিপ্টে প্রাইমগুলির শক্তি এবং গুণফল হিসাবে সংখ্যার প্রতিনিধিত্ব করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি ধনাত্মক পূর্ণসংখ্যা নেয়। আমাদের ফাংশন এই সংখ্যাটিকে মৌলিক সংখ্যার কিছু শক্তির যোগফল হিসাবে উপস্থাপন করা উচিত।

অতএব, n সংখ্যার জন্য, আমাদের ফাংশনটি এইরকম একটি স্ট্রিং প্রদান করবে −

n = "(p1**n1)(p2**n2)...(pk**nk)"

যেখানে p1, p2, p3..pk হল মৌলিক সংখ্যা এবং n1, n2,..nk হল তাদের অ-ঋণাত্মক শক্তি এবং a ** b মানে হল একটি উত্থাপিত শক্তি b৷

উদাহরণ

নিম্নলিখিত কোড -

const isPrime = num => {
    for(let i = 2; i < num; i++){
        if(num % i === 0){
            return false;
        }
    };
    return num > 1;
}
const count = (arr = [], n = 1) => {
for(const k in arr){
    if(n % k === 0){
         arr[k] += 1;
         return count(arr, n / k)
      }
   };
       
   return arr;
};
const primeFactors = (n) => {
    const res = [];
    for(let i = 2; i < n; i++){
        if(isPrime(i)){
            res.push(i);
        }
    };
  const arr = [];
    for(const el in res){
        arr[el] = 0;
    };
    count(arr,n);
    let str = '';
    for(const x in arr){
  if(arr[x] > 1){
         str += '(%s**%s)' %(x,arr[x])
      }else if(arr[x] === 1){
          str += '(%s)' % (x)
      };
  };
   return str
};
console.log(primeFactors(86240));

আউটপুট

(2**5)(5)(7**2)(11)

  1. জাভাস্ক্রিপ্টে একটি সংখ্যার n সংলগ্ন সংখ্যার বৃহত্তম গুণফল

  2. জাভাস্ক্রিপ্টে n পর্যন্ত 1s সংখ্যা গণনা করা হচ্ছে

  3. জাভাস্ক্রিপ্টে একটি সংখ্যা 4 এর বৈধ শক্তি কিনা তা পরীক্ষা করা হচ্ছে

  4. একটি দশমিক সংখ্যার বিটগুলিকে উল্টানো এবং জাভাস্ক্রিপ্টে নতুন দশমিক সংখ্যা প্রদান করা