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

জাভাস্ক্রিপ্টে অ্যারেতে কনফিউজিং নাম্বার খুঁজে বের করা


কনফিউজিং নাম্বার:

একটি অ্যারেতে একটি সংখ্যা কনফিউজিং যদি সেটিকে ১৮০ ডিগ্রি উল্টিয়ে দেওয়ায় (ভার্টিক্যালি ও হরিজন্টালি) একটি অন্য সংখ্যা বने যা ওই অ্যারেতেও উপস্থিত থাকে। যেমন, ৬ কে ১৮০ ডিগ্রি ঘুরালে ৯ হয় এবং ৯ কে ঘুরালে ৬।

মনে রাখতে হবে শুধু ০, ১, ৬, ৮, ৯ এই ডিজিটগুলোই ঘুরালে বৈধ সংখ্যা তৈরি করে।

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি প্রাকৃতিক সংখ্যা num প্রথম ও একমাত্র আর্গুমেন্ট হিসেবে নেবে। ফাংশনটি প্রথমে ১ থেকে num পর্যন্ত সব প্রাকৃতিক সংখ্যার একটি অ্যারে তৈরি করবে।

উদাহরণস্বরূপ, num = 5 হলে অ্যারে হবে: [1, 2, 3, 4, 5]

তারপর ফাংশনটি অ্যারেতে কতগুলো কনফিউজিং নাম্বার আছে সেটি গণনা করে সেই কাউন্ট রিটার্ন করবে।

উদাহরণ:

ইনপুট হলে:

const num = 10;

আউটপুট হবে:

const output = 5;

কারণ অ্যারে হবে: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] এবং কনফিউজিং নাম্বারগুলো হচ্ছে: 1, 6, 8, 9, 10

উদাহরণ

কোডটি নিচের মতো:

const num = 10; const countConfusing = (num = 1) => { let count = 0; const valid = '01689'; const rotateMap = {'0': '0', '1': '1', '6': '9', '8': '8', '9': '6'}; const prepareRotation = num => { let res = ''; const numArr = String(num).split(''); if(numArr.some(el => !valid.includes(el))){ return false; }; numArr.map(el => { res = rotateMap[el] + res; }); return +res; }; for(let i = 1; i <= num; i++){ const rotated = prepareRotation(i); if(rotated && rotated > 0 && rotated <= num){ count++; }; }; return count; }; console.log(countConfusing(num));

আউটপুট

কনসোলে আউটপুট:

5

  1. জাভাস্ক্রিপ্টে অ্যারেতে থার্ড ম্যাক্সিমাম নাম্বার খুঁজে বের করা

  2. জাভাস্ক্রিপ্টে ট্রায়্যাঙ্গুলার নম্বর (Triangular Number) যাচাই করা

  3. জাভাস্ক্রিপ্টে একটি সংখ্যার পরবর্তী প্রাইম নম্বর বের করা

  4. জাভাস্ক্রিপ্টে অ্যারেতে প্রথম নন-কনsekutিভ নম্বর খুঁজে বের করা