এই কোড-চ্যালেঞ্জটিতে আপনি হ্যাশ ফাংশন লিখবেন 140 বাইট 1 বা তত কম উত্স কোডে। হ্যাশ ফাংশনটি অবশ্যই ইনপুট হিসাবে একটি এএসসিআইআই স্ট্রিং গ্রহণ করতে পারে এবং আউটপুট হিসাবে 24-বিট স্বাক্ষরযুক্ত পূর্ণসংখ্যা ([0, 2 24 -1]) ফেরত দেয় ।
আপনার হ্যাশ ফাংশনটি এই বৃহত ব্রিটিশ ইংরেজি অভিধান 2 এর প্রতিটি শব্দের জন্য মূল্যায়ন করা হবে । আপনার স্কোর হ'ল শব্দের পরিমাণ যা অন্য শব্দের সাথে (সংঘর্ষের) সাথে ভাগ করে h
সর্বনিম্ন স্কোর জয়, প্রথম পোস্টার দ্বারা বিচ্ছেদ টান।
পরীক্ষা ক্ষেত্রে
জমা দেওয়ার আগে, দয়া করে নীচের ইনপুটটিতে আপনার স্কোরিং স্ক্রিপ্টটি পরীক্ষা করুন:
duplicate
duplicate
duplicate
duplicate
যদি এটি 4 এর বাইরে অন্য কোনও স্কোর দেয় তবে এটি বগি।
বিধি স্পষ্টকরণ:
- আপনার হ্যাশ ফাংশনটি অবশ্যই একটি একক স্ট্রিংয়ে চলতে হবে, পুরো অ্যারে নয়। এছাড়াও, আপনার হ্যাশ ফাংশন ইনপুট স্ট্রিং এবং আউটপুট পূর্ণসংখ্যার চেয়ে অন্য কোনও আই / ও নাও করতে পারে।
- অন্তর্নির্মিত হ্যাশ ফাংশন বা অনুরূপ কার্যকারিতা (যেমন স্ক্র্যাম্বল বাইটে এনক্রিপশন) অনুমোদিত নয়।
- আপনার হ্যাশ ফাংশন অবশ্যই নির্দোষ হতে হবে।
- স্কোরিং ইনপুটটির জন্য বিশেষত অনুকূলকরণ করা বেশিরভাগ অন্যান্য প্রতিযোগিতার বিপরীতে অনুমোদিত is
1 আমি জানি টুইটার বাইটের পরিবর্তে অক্ষরগুলিকে সীমাবদ্ধ করে, তবে সরলতার জন্য আমরা এই চ্যালেঞ্জের সীমা হিসাবে বাইটগুলি ব্যবহার করব।
2 ডেবিয়ানের ব্রিটিশ-বিশাল থেকে পরিবর্তিত , কোনও অ- এসএসআইআই শব্দ অপসারণ করে।
D=340275
শব্দ এবং R=2^24
হ্যাশ আউটপুটগুলির সাথে, একটি এলোমেলো হ্যাশের একটি প্রত্যাশিত D^2/(2*R) = 3450
সংঘর্ষযুক্ত জোড় রয়েছে, যার কয়েকটি ওভারল্যাপ করে। এখানে একটি প্রত্যাশিত D^3/(6*R^2) = 23
সংঘবদ্ধ ত্রিপল এবং অপ্রাপ্ত সংখ্যক বৃহত্তর সংঘর্ষ, যার অর্থ এই ট্রিপলগুলি সম্ভবত বিচ্ছিন্ন হয়ে পড়ে। এটি একটি প্রত্যাশিত 6829
শব্দ দেয় যা একটি হ্যাশ মান ভাগ করে, 70
les ট্রিপলগুলিতে এবং বাকী জোড়ায়। স্ট্যান্ডার্ড বিচ্যুতিটি অনুমান করা হয় 118
, তাই <6200
এলোমেলো হ্যাশের সাথে পাওয়া প্রায় 5 টি সিগমা ইভেন্ট।
Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch's
? কি ...?