भ्रमित संख्याएं:
सरणी में एक संख्या भ्रमित होती है यदि वह 180 डिग्री लंबवत और क्षैतिज रूप से घुमाने पर दूसरी संख्या बन जाती है जो सरणी में भी मौजूद हो। उदाहरण के लिए, 6 को 180 डिग्री घुमाने पर 9 बन जाता है और इसके विपरीत।
ध्यान रखें कि केवल 0, 1, 6, 8, 9 के घुमाव एक वैध संख्या देते हैं।
हमें एक JavaScript फ़ंक्शन लिखना है जो एक प्राकृतिक संख्या num को पहली और एकमात्र आर्ग्युमेंट के रूप में लेता है। फ़ंक्शन को पहले 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