বিভ্রান্তিকর সংখ্যা:
একটি অ্যারের একটি সংখ্যা বিভ্রান্তিকর হয় যদি এটি অন্য সংখ্যায় পরিণত হয় যা আমরা সংখ্যাটিকে 180 ডিগ্রি উল্লম্ব এবং অনুভূমিকভাবে ঘোরানোর পরে অ্যারেতেও উপস্থিত থাকে। উদাহরণস্বরূপ, যদি আমরা উল্লম্বভাবে এবং অনুভূমিকভাবে 6 বাই 180 ডিগ্রী ঘোরাই তবে এটি 9 হয়ে যায় এবং এর বিপরীতে।
আমাদের মনে রাখতে হবে যে শুধুমাত্র 0, 1, 6, 8, 9 এর ঘূর্ণন একটি বৈধ সংখ্যা প্রদান করে।
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম এবং একমাত্র যুক্তি হিসাবে একটি স্বাভাবিক সংখ্যা, সংখ্যা নেয়। ফাংশনটি প্রথমে সংখ্যা সহ 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