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

पायथन में बिना पैलिंड्रोम के एम आकार के वर्णमाला के अक्षरों से बनी n लंबाई की स्ट्रिंग खोजने का कार्यक्रम

मान लीजिए कि हमारे पास m अक्षरों की संख्या है और दूसरा मान n है। हमें इन m अक्षरों से अक्षरों के साथ बनाए गए n लंबाई के तारों की संख्या गिननी है, और स्ट्रिंग में 1 से अधिक लंबाई की कोई पैलिंड्रोमिक विकल्प नहीं है। यदि उत्तर बहुत बड़ा है तो परिणाम को 10^9+7 से संशोधित करें। पी>

इसलिए, यदि इनपुट n =2 m =3 जैसा है, तो आउटपुट 6 होगा क्योंकि m =3, इसलिए यदि अक्षर {x, y, z} हैं, तो हम स्ट्रिंग उत्पन्न कर सकते हैं जैसे:[xx,xy,xz ,yx,yy,yz,zx,zy,zz] लेकिन [xx,yy,zz] मान्य नहीं हैं इसलिए 6 तार हैं।

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

  • p :=10^9+7
  • यदि n 1 के समान है, तो
    • रिटर्न एम मॉड पी
  • यदि n 2 के समान है, तो
    • वापसी एम *(एम -1) मॉड पी
  • यदि मी <=2, तो
    • वापसी 0
  • वापसी m*(m-1) * ((m-2)^(n-2) mod p) mod p

उदाहरण

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

def solve(n, m):
   p = 10**9+7
   if n == 1:
      return m % p
   if n == 2:
      return m * (m - 1) % p
   if m <= 2:
      return 0
   return m * (m - 1) * pow(m - 2, n - 2, p) % p

n = 2
m = 3
print(solve(n, m))

इनपुट

3, [1,2,3,4,1]

आउटपुट

6

  1. पायथन में i, j और k संख्या x, y, z अक्षरों के साथ बाद की संख्या खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास x, y और z s के साथ एक स्ट्रिंग है, हमें बाद की संख्या ज्ञात करनी है जिसमें x वर्णों की संख्या है, उसके बाद y वर्णों की j संख्या और उसके बाद k z वर्णों की संख्या जहाँ i, j, k 1. इसलिए, यदि इनपुट s =xxyz जैसा है, तो आउटपुट 3 होगा, क्योंकि हम दो xyz और एक xxyz बना सकते हैं इसे

  1. पायथन में दी गई शर्त के साथ सबसे लंबे समय तक सबलिस्ट की लंबाई खोजने का कार्यक्रम

    अधिकतम उपसूची। 6 के रूप में। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे- रिट:=0 दो डबल एंडेड कतारों को परिभाषित करें minq और maxq एल:=0, आर:=0 जबकि r <अंकों का आकार, करें एन:=अंक [आर] जबकि minq और n

  1. पायथन में दिए गए अक्षरों का उपयोग करके सबसे लंबी लंबाई ज्ञात करने का कार्यक्रम, जिसे बनाया जा सकता है

    मान लीजिए कि हमारे पास स्ट्रिंग्स की एक सूची है जिसे शब्द कहा जाता है और एक अन्य स्ट्रिंग जिसे अक्षर कहा जाता है, हमें शब्दों में सबसे लंबी स्ट्रिंग की लंबाई ज्ञात करनी है जो अक्षरों में वर्णों से बन सकती है। यदि कोई शब्द नहीं बनाया जा सकता है, तो 0 लौटाएं। यहां हम अक्षरों का पुन:उपयोग नहीं कर सकते