কম্পিউটার

পাইথন - প্রদত্ত সংখ্যার তালিকা থেকে সম্ভাব্য সবচেয়ে বড় সংখ্যা


এই নিবন্ধে, আমরা শিখতে যাচ্ছি কিভাবে প্রদত্ত সংখ্যার তালিকা থেকে সম্ভাব্য বৃহত্তম সংখ্যা খুঁজে বের করতে হয়। আমরা সমস্যা সমাধানের জন্য দুটি ভিন্ন উপায় দেখতে পাব। সমস্যা সমাধানের জন্য নিচের ধাপগুলো অনুসরণ করুন।

  • পারমুটেশন পদ্ধতির জন্য itertools মডিউল আমদানি করুন।
  • সংখ্যা এবং একটি খালি তালিকা দিয়ে তালিকাটি শুরু করুন।
  • লিস্টের পারমুটেশনের উপর পুনরাবৃত্তি করুন।
    • সমস্ত সংমিশ্রণে যোগ দিন এবং ফলাফলটি খালি তালিকায় যোগ করুন।
  • পরিণাম থেকে সর্বাধিক সংখ্যাটি সর্বাধিক পদ্ধতি এবং int হিসাবে কী দিয়ে খুঁজুন।
  • স্ট্রিংটিকে পূর্ণসংখ্যাতে রূপান্তর করুন এবং মুদ্রণ করুন।

উদাহরণ

আসুন কোডটি দেখি।

# importing the module
import itertools

# initializing the list
numbers = [45, 35, 138, 43, 67]

# result
result = []

# permutations
for permutation in itertools.permutations(str(number) for number in numbers):
   result.append(''.join(permutation))

# finding max
maximum = max(result, key=int)

# printing the max
print(int(maximum))

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

আউটপুট

67454335138

আসুন সমস্যা সমাধানের অন্য উপায় দেখি। আমরা সমস্যা সমাধানের জন্য ফাংশন সাজানো হবে. কোড লিখতে নিচের ধাপগুলো অনুসরণ করুন।

  • তালিকাটি সাজানো ফাংশনে পাস করুন।
  • গেট_কি নামে একটি ফাংশন লিখুন যা দুটি আর্গুমেন্ট গ্রহণ করে।
  • রিটার্ন -1 যদি str(first) + str(second)> str(second) + str(first) else 1 হয়।
  • যোগদান পদ্ধতি ব্যবহার করে উপাদানের তালিকায় যোগদান।
  • একটি পূর্ণসংখ্যাতে রূপান্তর করে ফলাফল প্রিন্ট করুন।

যেহেতু আমরা একটি ফাংশনকে কী হিসেবে ব্যবহার করছি, আমাদেরকে ফাংশন থেকে cmp_to_key পদ্ধতি ব্যবহার করে কী-তে রূপান্তর করতে হবে। আসুন কোডটি দেখি।

উদাহরণ

from functools import cmp_to_key

# initializing the list
numbers = [45, 35, 138, 43, 67]

def get_key(first, second):
   if str(first) + str(second) > str(second) + str(first):
      return -1
   return 1

# getting the result
result = sorted(numbers, key=cmp_to_key(get_key))

# joining the result
result = "".join(str(integer) for integer in result)

# printing the result
print(int(result))

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

আউটপুট

67454335138

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

  2. পাইথনে এলোমেলো নম্বর তালিকা তৈরি করা হচ্ছে

  3. একটি তালিকা থেকে N বৃহত্তম উপাদান খুঁজে পেতে পাইথন প্রোগ্রাম

  4. পাইথন প্রোগ্রাম একটি প্রদত্ত সীমার মধ্যে র্যান্ডম সংখ্যা তৈরি করতে এবং একটি তালিকায় সংরক্ষণ করতে?