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

पायथन में उत्पन्न सूची से विशिष्ट तत्वों के एक्सओआर मूल्यों का पता लगाने के लिए कार्यक्रम

मान लीजिए हमें एक सूची दी गई है जिसमें प्राकृत संख्याएँ हैं। अब उस सूची से, हम उन सभी संख्याओं को हटा देते हैं जिनमें इसके द्विआधारी प्रतिनिधित्व में लगातार दो 1s होते हैं और Z नामक एक और सूची उत्पन्न करते हैं। अब हमें एक और सूची 'input_list' दी जाती है जिसमें कुछ पूर्णांक मान होते हैं। हमें Z से निर्दिष्ट तत्वों के XOR मान का पता लगाना है जिनकी अनुक्रमणिका input_list में निर्दिष्ट है।

इसलिए, अगर इनपुट इनपुट_लिस्ट =[3, 4, 5] जैसा है, तो आउटपुट 9 होगा।

Z के अनुक्रमित 3, 4 और 5 में; मान 4, 5 और 8 हैं। तो, 4 XOR 5 XOR 8 =9.

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • एक फ़ंक्शन को परिभाषित करें zeck_num() । इसमें k, f_list
      . लगेगा
    • res :=0
    • मैं श्रेणी में (f_list -1 का आकार) से -1 तक, 1 से घटाएं
      • अगर k>=f_list[i], तो
        • res :=res + 2^i
        • k :=k - f_list[i]
    • रिटर्न रेस
  • रक्षा मंत्रालय:=10^9 + 7
  • max_val :=10^18
  • f_list :=1 और 2 मान वाली एक नई सूची
  • f_list का अंतिम तत्व <=max_val, करते समय
    • f_list का अंतिम तत्व + f_list के अंत में f_list का दूसरा अंतिम तत्व डालें
  • res :=0
  • इनपुट_सूची में प्रत्येक अनुक्रमणिका के लिए, करें
    • res :=res XOR zeck_num(index, f_list)
  • रिटर्न रेस मॉड एमओडी

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

def zeck_num(k, f_list):
   res = 0
   for i in range(len(f_list)-1,-1,-1):
      if k >= f_list[i]:
         res += 2**i
         k -= f_list[i]
   return res

def solve(input_list):
   MOD = 10**9+7
   max_val = 10**18
   f_list = [1,2]
   while f_list[-1] <= max_val:
      f_list.append(f_list[-1] + f_list[-2])
   res = 0
   for index in input_list:
      res ^= zeck_num(index, f_list)
   return res % MOD

print(solve([3, 4, 5]))

इनपुट

[3, 4, 5]

आउटपुट

9

  1. पायथन में उप-पेड़ों के नोड मानों के योग से न्यूनतम मान ज्ञात करने का कार्यक्रम

    मान लीजिए, हमारे पास एक पेड़ है जिसके सभी नोड्स 1 से n तक गिने गए हैं। प्रत्येक नोड में एक पूर्णांक मान होता है। अब यदि हम पेड़ से एक किनारा हटाते हैं, तो दो उप-वृक्षों के नोड मानों के योग में अंतर न्यूनतम होना चाहिए। हमें ऐसे उप-वृक्षों के बीच न्यूनतम अंतर का पता लगाना और वापस करना होगा। पेड़ हमें

  1. पायथन में विशिष्ट अक्षर से शुरू होने वाले सूची तत्वों को खोजें

    इस लेख में हम एक सूची से उन सभी तत्वों को पाएंगे जो विशिष्ट अक्षर से शुरू होते हैं। इंडेक्स और लोअर के साथ हम निचले फ़ंक्शन का उपयोग करते हैं ताकि बाद में परीक्षण सूची में तत्वों के पहले अक्षर से मेल खा सके, चाहे मामला कुछ भी हो। फिर हम सूचकांक का उपयोग 0 पर करते हैं ताकि सूची में तत्वों के पहले अक

  1. सूची से एन सबसे बड़े तत्वों को खोजने के लिए पायथन कार्यक्रम

    एक पूर्णांक सूची को देखते हुए, हमारा कार्य सूची में N सबसे बड़े तत्वों को खोजना है। उदाहरण Input : [40, 5, 10, 20, 9] N = 2 Output: [40, 20] एल्गोरिदम Step1: Input an integer list and the number of largest number. Step2: First traverse the list up to N times. Step3: Each traverse find the largest va