Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में रिकर्सन का उपयोग करके हैप्पी नंबर निर्धारित करना


हैप्पी नंबर

एक हैप्पी नंबर वह संख्या है जो अंततः 1 तक पहुंच जाती है जब इसे प्रत्येक अंक के वर्ग के योग से बदल दिया जाता है। जबकि यदि इस प्रक्रिया के दौरान कोई संख्या दोहराई जाती है, तो चक्र अनंत काल तक चलेगा और ऐसी संख्याओं को अनहैप्पी नंबर कहा जाता है।

उदाहरण के लिए - 13 एक हैप्पी नंबर है क्योंकि,

1^2 + 3^2 = 10 और, 1^2 + 0^2 = 1

दूसरी ओर, 36 एक अनहैप्पी नंबर है।

हमें एक फ़ंक्शन लिखना आवश्यक है जो रिकर्सन का उपयोग करके यह निर्धारित करता है कि कोई संख्या हैप्पी नंबर है या नहीं।

तो, आइए इस फ़ंक्शन को लिखें। इस फ़ंक्शन की कुंजी यह है कि हमें उन संख्याओं का रिकॉर्ड रखना होगा जो पहले ही आ चुकी हैं, यदि वही संख्या दूसरी बार आती है, तो हम false लौटाते हैं अन्यथा यदि वर्गाकार अंक 1 तक जुड़ जाते हैं, तो हम true लौटाते हैं।

हम पहले से आई संख्या को ट्रैक करने के लिए एक ऑब्जेक्ट का उपयोग करेंगे, हम सेट या मैप का भी उपयोग कर सकते थे, लेकिन एक साधारण ऑब्जेक्ट भी हमारे लिए काम करेगा।

इसे करने का कोड होगा:

उदाहरण

const squareSumRecursively = (n, res = 0) => {
  if(n){
    return squareSumRecursively(Math.floor(n/10), res+Math.pow((n%10),2));
  };
  return res;
};
const isHappy = (num, map = {}) => {
  if(num !== 1){
    if(map[num]){
      return false;
    }
    map[num] = 1;
    return isHappy(squareSumRecursively(num), map);
  };
  return true;
}
console.log(isHappy(36));
console.log(isHappy(13));
console.log(isHappy(36));
console.log(isHappy(23));

आउटपुट

कंसोल में आउटपुट होगा:

false
true
false
true

  1. - JavaScript में डेट में महीने कैसे जोड़ें?

    getMonth() और setMonth() का उपयोग JavaScript में डेट में महीने जोड़ने के लिए getMonth() मेथड से वर्तमान महीना प्राप्त करें, फिर setMonth() से नया महीना सेट करें। उदाहरण <!DOCTYPE html> <html> <body> <script> var d = new Date(); document.write(वर्तमान ड

  1. - JavaScript में Number ऑब्जेक्ट कैसे बनाएं?

    Number ऑब्जेक्ट एक संख्यात्मक मान को दर्शाता है, चाहे वह पूर्णांक हो या फ्लोटिंग-पॉइंट संख्या। Number ऑब्जेक्ट बनाने का सिंटैक्स निम्नलिखित है: var val = new Number(number); new ऑपरेटर के बिना Number ऑब्जेक्ट का उपयोग टाइप कन्वर्जन के लिए किया जा सकता है। आइए Number.MAX_VALUE प्रॉपर्टी का एक उदाहरण

  1. JavaScript में दशमलव संख्याओं (Decimal Numbers) को कैसे वैलिडेट करें? JavaScript में दशमलव संख्याओं (Decimal Numbers) को कैसे वैलिडेट करें?

    JavaScript में दशमलव संख्याओं को वैलिडेट करने का निम्नलिखिक कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Valida