কম্পিউটার টিউটোরিয়াল

n-ডিজিট সংখ্যা খুঁজে বের করা যাদের জোড় ও বিজোড় পজিশনের অঙ্ক যোগফল দিয়ে বিভাজ্য - জাভাস্ক্রিপ্ট

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা তিনটি সংখ্যা নেয়। ধরা যাক তিনটি সংখ্যা হল a, b এবং n।

আমাদের কাজ হল সকল n-ডিজিট সংখ্যা খুঁজে বের করা যাদের জোড় পজিশনের অঙ্কগুলোর যোগফল a দিয়ে এবং বিজোড় পজিশনের অঙ্কগুলোর যোগফল b দিয়ে বিভাজ্য। এবং সবচেয়ে শেষে সকল মিলে যাওয়া সংখ্যা ধারণকারী একটি অ্যারে রিটার্ন করতে হবে, যদি কোনো মিল না থাকে তবে খালি অ্যারে।

উদাহরণ

নিচের কোডটি দেখুন:

const indexSum = (num, sumOdd = 0, sumEven = 0, index = 0) => {
  if(num){
    if(index % 2 === 0){
      sumEven += num % 10;
    }else{
      sumOdd += num % 10;
    };
    return indexSum(Math.floor(num / 10), sumOdd, sumEven, ++index);
  };
  return {sumOdd, sumEven};
};

const divides = (b, a) => a % b === 0;

const countNum = (n, first, second) => {
  let start = Math.pow(10, (n-1));
  const end = Math.pow(10, n)-1;
  const res = [];
  while(start <= end){
    const { sumEven, sumOdd } = indexSum(start);
    const condition = divides(first, sumEven) && divides(second,sumOdd);
    if(condition){
      res.push(start);
    };
    start++;
  };
  return res;
};

console.log(countNum(3, 5, 3));

আউটপুট

এটি কনসোলে নিচের আউটপুট তৈরি করবে:

[
  104, 109, 134, 139, 164, 169, 194, 199, 203,
  208, 233, 238, 263, 268, 293, 298, 302, 307,
  332, 337, 362, 367, 392, 397, 401, 406, 431,
  436, 461, 466, 491, 496, 500, 505, 530, 535,
  560, 565, 590, 595, 604, 609, 634, 639, 664,
  669, 694, 699, 703, 708, 733, 738, 763, 768,
  793, 798, 802, 807, 832, 837, 862, 867, 892,
  897, 901, 906, 931, 936, 961, 966, 991, 996
]
  1. জাভাস্ক্রিপ্টে স্পেস-সেপারেটেড নম্বর স্ট্রিংয়ে একমাত্র জোড় বা বিজোড় নম্বর খুঁজে বের করা

  2. জাভাস্ক্রিপ্টে তিনটি অ্যারেতে সাধারণ সব উপাদানের যোগফল বের করা

  3. সি++-এ [L, R] রেঞ্জের সব জোড় সংখ্যা গণনা যাদের অঙ্কগুলোর যোগফল ৩ দ্বারা বিভাজ্য

  4. পাইথন প্রোগ্রাম - পূর্ণসংখ্যা তালিকার সব সম ও বিজোড় অঙ্কের যোগফল বের করা