কম্পিউটার

পাইথনে প্রদত্ত N থেকে একটি প্যালিনড্রোম স্ট্রিং তৈরি করা সম্ভব কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি সংখ্যা n আছে। আমরা সেই সংখ্যা থেকে একটি বর্ণানুক্রমিক ছোট হাতের স্ট্রিং তৈরি করতে পারি কিনা এবং স্ট্রিংটি প্যালিনড্রোম কিনা তা পরীক্ষা করতে হবে। এখানে আমরা শুধুমাত্র a থেকে j পর্যন্ত অক্ষর নিব, [a =0, b =1... j =9]। তাই যদি সংখ্যাটি 42 হয় তাহলে সাবস্ট্রিং "ec" 6 (4+2) অক্ষর "ececec" পর্যন্ত প্রিন্ট করা হবে তাহলে এটি প্যালিনড্রোম কিনা তা পরীক্ষা করে দেখুন৷

সুতরাং, যদি ইনপুটটি n =43 এর মত হয়, তাহলে আউটপুট হবে True স্ট্রিংটি "ededede" এবং এটি প্যালিনড্রোম।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • temp :=ফাঁকা স্ট্রিং
  • s :=n স্ট্রিং হিসাবে
  • অক্ষর :=a থেকে j পর্যন্ত সমস্ত অক্ষর
  • সমষ্টি :=0
  • substr :=ফাঁকা স্ট্রিং
  • আমি 0 থেকে s - 1 এর পরিসরে, কর
    • d :=s[i] সাংখ্যিক অঙ্ক হিসাবে
    • substr :=substr concatenate অক্ষর[d]
    • সমষ্টি :=যোগফল + d
  • যখন temp-এর মাপ <=sum, do
    • temp :=temp concatenate substr
  • temp :=temp[সূচক 0 থেকে যোগফল - 1]
  • টেম্প প্যালিনড্রোম হলে সত্য প্রত্যাবর্তন করুন, অন্যথায় মিথ্যা

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def isPalindrome(s):
   return s == s[::-1]
def solve(n):
   temp = ""
   s = str(n)
   letters = "abcdefghij"
   sum = 0
   substr = ""
   for i in range(len(s)) :
      d = int(s[i])
      substr += letters[d]
      sum += d
   while len(temp) <= sum:
      temp += substr
   temp = temp[:sum]
   return isPalindrome(temp)
n = 43
print (solve(n))

ইনপুট

43

আউটপুট

True

  1. প্রদত্ত স্ট্রিংটি স্বরবর্ণ প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  2. একটি প্রদত্ত স্ট্রিং নম্বর প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  3. একটি স্ট্রিং প্যালিনড্রোম কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

  4. প্রদত্ত স্ট্রিং থেকে সমস্ত সম্ভাব্য বৈধ আইডি ঠিকানা তৈরি করতে পাইথন প্রোগ্রাম