কম্পিউটার

ডিজিট রুট জাভাস্ক্রিপ্ট অনুযায়ী সংখ্যা সাজানো


ডিজিট রুট

একটি ধনাত্মক পূর্ণসংখ্যার অঙ্কের মূলকে তার সমস্ত অঙ্কের যোগফল হিসাবে সংজ্ঞায়িত করা হয়৷

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা পূর্ণসংখ্যার অ্যারে নেয়। ফাংশনটি এমনভাবে সাজাতে হবে যাতে b এর আগে a আসে তাহলে a-এর অঙ্ক রুট b-এর অঙ্ক রুটের থেকে কম বা সমান হয়। দুটি সংখ্যার একই অঙ্কের মূল থাকলে, ছোটটি (নিয়মিত অর্থে) প্রথমে আসা উচিত।

উদাহরণস্বরূপ, 4 এবং 13 এর একই ডিজিট রুট আছে, তবে 4 <13 এইভাবে 4 যেকোন ডিজিটরুট বাছাইয়ে 13 এর আগে আসে যেখানে উভয়ই উপস্থিত থাকে।

যেমন −

যদি ইনপুট অ্যারে −

হয়
const arr = [13, 20, 7, 4];

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

হওয়া উচিত
const output = [20, 4, 13, 7];

উদাহরণ

const arr = [13, 20, 7, 4];
const digitSum = (num, sum = 0) => {
   if(num){
      return digitSum(Math.floor(num / 10), sum + (num % 10));
   };
   return sum;
};
const digitalSort = (arr = []) => {
   const sorter = (a, b) => {
      return (digitSum(a) - digitSum(b)) || (a - b);
   };
   arr.sort(sorter);
};
digitalSort(arr);
console.log(arr);

আউটপুট

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
[ 20, 4, 13, 7 ]

  1. জাভাস্ক্রিপ্টে একটি সংখ্যার nম রুট কীভাবে গণনা করবেন?

  2. জাভাস্ক্রিপ্ট অ্যারের শেষটিতে কীভাবে একটি উপাদান যুক্ত করবেন?

  3. জাভাস্ক্রিপ্টে 2 এর বর্গমূল কিভাবে পাবেন?

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