কম্পিউটার

যোগফলের সংখ্যার পুনরাবৃত্ত পণ্য জাভাস্ক্রিপ্ট


আমাদের এমন একটি ফাংশন তৈরি করতে হবে যা যেকোন সংখ্যক আর্গুমেন্ট নেয় (সংখ্যার আক্ষরিক), সেগুলিকে একসাথে যোগ করে এবং যখন উত্তরটি মাত্র 1 সংখ্যার হয় তখন অঙ্কের গুণফল ফেরত দেয়৷

যেমন −

যদি আর্গুমেন্ট হয় −

16, 34, 42

আমাদের প্রথমে তাদের একসাথে যোগ করতে হবে -

16+34+42 = 92

এবং তারপরে সংখ্যাগুলিকে একসাথে গুণ করতে থাকুন যতক্ষণ না আমরা এইরকম একটি 1-সংখ্যার সংখ্যা পাই -

9*2 = 18
1*8 = 8

যখন আমরা এক-সংখ্যার নম্বর পাই, তখন আমাদের ফাংশন থেকে তা ফেরত দিতে হবে।

আমরা এটিকে দুটি ফাংশনে বিভক্ত করব -

  • একটি ফাংশন একটি সংখ্যা গ্রহণ করে এবং এর সংখ্যাগুলির গুণফল প্রদান করে, আমরা এটি করার জন্য পুনরাবৃত্তি ব্যবহার করব, আসুন এই প্রথম ফাংশন পণ্যটিকে কল করি()।

  • দ্বিতীয় ফাংশনটি পুনরাবৃত্তভাবে এই পণ্য() ফাংশনটিকে কল করে এবং পণ্যটি 1 সংখ্যার কিনা তা পরীক্ষা করে, এটি পণ্যটিকে ফেরত দেয় অন্যথায় এটি পুনরাবৃত্তি করতে থাকে।

এই পুরো কার্যকারিতার জন্য কোড হবে −

উদাহরণ

const recursiveMuliSum = (...numbers) => {
   const add = (a) => a.length === 1 ? a[0] : a.reduce((acc, val) => acc+val);
   const produce = (n, p = 1) => {
      if(n){
         return produce(Math.floor(n/10), p*(n%10));
      };
      return p;
   };
   const res = produce(add(numbers));
   if(res > 9){
      return recursiveMuliSum(res);
   }
   return res;
};
console.log(recursiveMuliSum(16, 28));
console.log(recursiveMuliSum(16, 28, 44, 76, 11));
console.log(recursiveMuliSum(1, 2, 4, 6, 8));

আউটপুট

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

6
5
2

  1. জাভাস্ক্রিপ্টে একটি সংখ্যার সংখ্যা আলাদা করা

  2. জাভাস্ক্রিপ্টে একটি সংখ্যার গুণফল এবং অঙ্কের যোগফলের মধ্যে পার্থক্য

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

  4. জাভাস্ক্রিপ্টে একটি সংখ্যার সংখ্যার যোগফলের পার্থক্য