ভাষা নির্মাতারা যদি কোনও নির্দিষ্ট মানের চেয়ে বড় সংখ্যাকে পরিচালনা করতে অক্ষম হয় তবে আমি কীভাবে অত্যন্ত বড় সংখ্যায় (ইনফিনিটাম - ইন্টিজারগুলিতে কোনও ভাসা ভাসা) গণনা করতে যাব না সে সম্পর্কে আমি ভেবে দেখার চেষ্টা করছি।
আমি নিশ্চিত যে এই প্রশ্নটি জিজ্ঞাসা করার জন্য আমি প্রথম বা শেষ নই তবে আমি যে অনুসন্ধানের শব্দগুলি ব্যবহার করছি তা সেই পরিস্থিতিগুলি পরিচালনা করার জন্য আমাকে একটি অ্যালগরিদম দিচ্ছে না। বরং বেশিরভাগ পরামর্শই কোনও ভাষা পরিবর্তন বা পরিবর্তনশীল পরিবর্তন প্রস্তাব দেয় বা এমন জিনিস সম্পর্কে কথা বলে যা আমার সন্ধানকে অপ্রাসঙ্গিক বলে মনে হয়। তাই আমার একটু গাইডেন্স দরকার।
আমি এর মতো একটি অ্যালগোরিদম স্কেচ করব:
ভাষার জন্য পূর্ণসংখ্যের পরিবর্তনশীলের সর্বোচ্চ দৈর্ঘ্য নির্ধারণ করুন।
একটি সংখ্যা যদি ভেরিয়েবলের সর্বাধিক দৈর্ঘ্যের অর্ধেকেরও বেশি দৈর্ঘ্য হয় তবে এটি এ্যারে বিভক্ত করুন। (একটু খেলার ঘর দিন)
অ্যারের ক্রম [0] = ডানদিকে সবচেয়ে বেশি সংখ্যা [এন-ম্যাক্স] = বামে সর্বাধিক সংখ্যা
যাত্রা। সংখ্যা: 29392023 অ্যারে [0]: 23, অ্যারে [1]: 20, অ্যারে [2]: 39, অ্যারে [3]: 29
যেহেতু আমি ভেরিয়েবলের অর্ধ দৈর্ঘ্যটি মার্ক অফ পয়েন্ট হিসাবে স্থাপন করেছি তারপরে আমি দশক, শততম ইত্যাদি গণনা করতে পারি অর্ধেক চিহ্নের মধ্য দিয়ে রাখুন যাতে যদি কোনও চলক সর্বাধিক দৈর্ঘ্য 0 থেকে 9999999999 পর্যন্ত 10 অঙ্ক হয় তবে আমি জানি যে অর্ধেক করে পাঁচটি অঙ্ক আমাকে কিছু খেলার ঘর দেয়।
সুতরাং আমি যদি যোগ বা গুণ করি তবে আমার একটি পরিবর্তনশীল চেকার ফাংশন থাকতে পারে যা দেখতে পাবে অ্যারের []] এর ষষ্ঠ সংখ্যা (ডান দিক থেকে) অ্যারে [1] এর প্রথম অঙ্কের (ডান দিক থেকে) একই স্থান।
বিভাজন এবং বিয়োগের নিজস্ব সমস্যা রয়েছে যা আমি এখনও ভাবিনি।
আমি প্রোগ্রামের চেয়ে বড় সংখ্যক সমর্থন করার সর্বোত্তম বাস্তবায়ন সম্পর্কে জানতে চাই।