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

JavaScript में बल्ब ऑन-ऑफ स्विच करना


समस्या

निम्नलिखित स्थिति पर विचार करें -

n बल्ब हैं जो शुरू में बंद हैं। हम पहले सभी बल्बों को चालू करते हैं। फिर, हम हर दूसरे बल्ब को बंद करते हैं। तीसरे राउंड में, हम हर तीसरे बल्ब को टॉगल करते हैं (अगर यह बंद है तो चालू करते हैं या चालू है तो बंद करते हैं)।

सामान्य रूप से, i-वें राउंड के लिए, हम हर i बल्ब को टॉगल करते हैं। और अंत में n-वें राउंड के लिए, हम केवल अंतिम बल्ब को टॉगल करते हैं।

हमें एक JavaScript फ़ंक्शन लिखना है जो n को एकमात्र इनपुट के रूप में लेता है और n राउंड के बाद कितने बल्ब चालू हैं, यह पता लगाता है।

उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -

const n = 4;

तो आउटपुट होना चाहिए -

const output = 2;

आउटपुट व्याख्या:

स्टेट सरणी में, 0 बंद को दर्शाता है जबकि 1 चालू को दर्शाता है -

राउंड स्टेट
1 [1, 1, 1, 1, 1]
2 [1, 0, 1, 0, 1]
3 [1, 0, 0, 0, 1]
4 [1, 0, 0, 1, 1]
5 [1, 0, 0, 1, 0]

इसलिए पांचवें राउंड के बाद केवल दो बल्ब चालू हैं।

उदाहरण

इसके लिए कोड होगा -

const n = 5; 
const findOn = (n = 1) => { 
  let off = 0; 
  let on = n; 
  while(off <= on){ 
    let mid = Math.floor((off + on) / 2); 
    if(mid * mid > n){ 
      on = mid - 1; 
    }else{ 
      off = mid + 1; 
    }; 
  }; 
  return Math.floor(on); 
}; 
console.log(findOn(n));

आउटपुट

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

2

  1. JavaScript में TextDecoder और TextEncoder JavaScript में TextDecoder और TextEncoder

    TextEncoder का उपयोग दी गई स्ट्रिंग को UTF-8 मानक में बदलने के लिए किया जाता है। यह स्ट्रिंग से Uint8Array लौटाता है।TextDecoder का उपयोग बाइट्स की स्ट्रीम को कोड पॉइंट्स की स्ट्रीम में डिकोड करने के लिए किया जाता है। यह UTF-8, ISO-8859-2, KOI8-R, GBK आदि को डिकोड कर सकता है।JavaScript में TextDecod

  1. JavaScript में डिस्ट्रक्चरिंग और फंक्शन पैरामीटर्स JavaScript में डिस्ट्रक्चरिंग और फंक्शन पैरामीटर्स

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

  1. जावास्क्रिप्ट में इम्पोर्ट्स और एक्सपोर्ट्स का नाम बदलना जावास्क्रिप्ट में इम्पोर्ट्स और एक्सपोर्ट्स का नाम बदलना

    जावास्क्रिप्ट में इम्पोर्ट्स और एक्सपोर्ट्स का नाम बदलने के लिए निम्नलिखित कोड है: नोट - इस उदाहरण को चलाने के लिए आपको एक लोकलहोस्ट सर्वर चलाने की आवश्यकता है। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="vi