আমি পাইথনে দ্রুত পোকার হ্যান্ড মূল্যায়ন বিবেচনা করছি। আমার কাছে এটি ঘটেছে যে প্রক্রিয়াটি গতি বাড়ানোর এক উপায় হ'ল সমস্ত কার্ডের মুখ এবং স্যুটগুলিকে প্রাইম সংখ্যা হিসাবে উপস্থাপন করা এবং তাদের হাতের প্রতিনিধিত্ব করতে একসাথে বহুগুণ করা। ঝকঝকে:
class PokerCard:
faces = '23456789TJQKA'
suits = 'cdhs'
facePrimes = [11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 53, 59, 61]
suitPrimes = [2, 3, 5, 7]
এবং
def HashVal(self):
return PokerCard.facePrimes[self.cardFace] * PokerCard.suitPrimes[self.cardSuit]
এটি প্রতিটি হাতকে এমন একটি সংখ্যাসূচক মূল্য দেবে যেটি মডুলোর মাধ্যমে আমাকে বলতে পারে যে কত রাজা হাতে আছেন বা কত হৃদয়। উদাহরণস্বরূপ, এতে পাঁচ বা ততোধিক ক্লাব সহ যে কোনও হাত সমানভাবে 2 ^ 5 দ্বারা বিভক্ত হবে; চার রাজার সাথে যে কোনও হাত 59 ^ 4 ইত্যাদি দ্বারা সমানভাবে ভাগ হবে would
সমস্যাটি হ'ল ACAdAhAsKdKhKs এর মতো একটি সাত-কার্ডের হাতের প্রায় 62.7 কোয়াড্রিলিয়ন এর একটি হ্যাশ মান রয়েছে, যা অভ্যন্তরীণভাবে উপস্থাপন করতে 32 বিটের চেয়ে বেশি সময় লাগবে। পাইথনে এত বড় সংখ্যক সঞ্চয় করার কোনও উপায় আছে যা আমাকে এতে গাণিতিক ক্রিয়াকলাপ সম্পাদন করার অনুমতি দেবে?