কম্পিউটার

জাভাস্ক্রিপ্টে পণ্য সর্বাধিক করার জন্য পূর্ণসংখ্যা ভাঙা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র যুক্তি হিসাবে একটি পূর্ণসংখ্যা, সংখ্যা নেয়৷

আমাদের ফাংশন এই পূর্ণসংখ্যাগুলিকে কমপক্ষে দুটি খণ্ডে বিভক্ত করা উচিত যা যোগ করা হলে যোগফল পূর্ণসংখ্যা দেয় এবং যখন গুণ করা হয় তখন সর্বাধিক সম্ভাব্য পণ্য দেয়। অবশেষে, আমাদের ফাংশন এই সর্বোচ্চ সম্ভাব্য পণ্য ফেরত দেওয়া উচিত.

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

const num = 10;

তারপর আউটপুট −

হওয়া উচিত
const output = 36;

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

কারণ 10 কে 3 + 3 + 4 তে ভাগ করা যায় যা গুণ করলে 36 পাওয়া যায়।

উদাহরণ

এর জন্য কোড হবে −

const num = 10;
const breakInt = (num = 2) => {
   const dp = new Array(num + 1).fill(0);
   dp[0] = 0;
   dp[1] = 1;
   for(let i = 2; i <= num; i++){
      for(let j = 1; 2*j <= i; j++){
         dp[i] = Math.max(dp[i], Math.max(j, dp[j]) * Math.max(i-j,
         dp[i-j]) );
      };
   };
   return dp[num];
};
console.log(breakInt(num));

আউটপুট

এবং কনসোলে আউটপুট হবে −

36

  1. একটি ভেরিয়েবল জাভাস্ক্রিপ্টে একটি পূর্ণসংখ্যা কিনা তা কিভাবে পরীক্ষা করবেন?

  2. জাভাস্ক্রিপ্টে Number.toFixed() ফাংশন

  3. জাভাস্ক্রিপ্টে Number.toExponential() ফাংশন

  4. কার্যকরী প্রোগ্রামিং জাভাস্ক্রিপ্টে একটি লুপ ভাঙা।