কম্পিউটার

সংখ্যাগুলি জাভাস্ক্রিপ্টে সংযোজন ক্রম গঠন করে কিনা তা নির্ধারণ করা


সংযোজন সংখ্যা

যোজক সংখ্যা হল এমন একটি সংখ্যা স্ট্রিং যার অঙ্কগুলি যোজক ক্রম গঠন করতে পারে।

একটি বৈধ সংযোজন ক্রম কমপক্ষে তিনটি সংখ্যা থাকা উচিত। প্রথম দুটি সংখ্যা ব্যতীত, অনুক্রমের প্রতিটি পরবর্তী সংখ্যা অবশ্যই পূর্ববর্তী দুটির সমষ্টি হতে হবে। শুধুমাত্র '0'−'9' সংখ্যা সম্বলিত একটি স্ট্রিং দেওয়া, এটি একটি সংযোজন সংখ্যা কিনা তা নির্ধারণ করতে একটি ফাংশন লিখুন।

দ্রষ্টব্য − যোজক অনুক্রমের সংখ্যায় অগ্রণী শূন্য থাকতে পারে না, তাই অনুক্রম 1, 2, 03 বা 1, 02, 3 অবৈধ৷

যেমন −

স্ট্রিং "199100199" হল যোজক সংখ্যা কারণ, যোজক ক্রম হল − 1, 99, 100, 199 −

1 + 99 = 100, 99 + 100 = 199

উদাহরণ

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

const str = "199100199";
const isAdditiveNumber = (numStr) => {
   if(numStr.length < 3) return false;
   let str = "";
   let seen = true;
   for(let i = numStr.length − 1; i > 1; i−−){
      str = `${numStr[i]}${str}`;
      if(numStr[i] === "0") continue;
      let s = str;
      let s2 = numStr[i − 1]
      for(let j = i − 2; j >= 0; j−−){
         if(`${s2}`.startsWith("0") && s2.length > 1){
            s2 = `${numStr[j]}${s2}` seen = false;
         } else if(parseInt(s) >= parseInt(s2)){
            let diff = s − s2;
            if(numStr.slice(0, j + 1).endsWith(diff)){
               s = s2;
               s2 = diff;
               let ind = Math.floor(Math.log10(diff));
               ind = ind < 0 ? 0 : ind
               j −= ind;
               seen = true;
            }else {
               s2 = `${numStr[j]}${s2}`
               seen = false;
            }
         }else{
            seen = false;
            break;
         }
      }
      if(seen) return seen;
   };
   return seen;
};
console.log(isAdditiveNumber(str));

আউটপুট

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

true

  1. জাভাস্ক্রিপ্টে দুটি সংখ্যা কিভাবে তুলনা করবেন?

  2. কীভাবে জাভাস্ক্রিপ্টে প্রাইম নম্বর তৈরি করবেন?

  3. জাভাস্ক্রিপ্টে ফিবোনাচি ক্রম

  4. জাভাস্ক্রিপ্ট নম্বর উদাহরণ