আপনার কাজটি হ'ল কিছু খেলায় 2 জন খেলোয়াড়ের জন্য জয়ের সম্ভাব্য সম্ভাবনা গণনা করা, যার প্রত্যেকে নিজের ইএলও রেটিং দিয়ে । প্লেয়ার A এর ELO R a এবং প্লেয়ার B এর ELO R b রয়েছে
প্লেয়ার এ (ই ক ) এর প্রত্যাশিত স্কোর : 1 / (1 + 10 (আর বি - আর এ ) / 400 )। প্লেয়ার বি (ই বি ) এর জন্য একই সমীকরণ রয়েছে : 1 / (1 + 10 (আর এ - আর বি ) / 400 )।
আপনি যদি আরও অনুলিপিযোগ্য সংস্করণ চান: 1 / (1 + 10^((a-b) / 400))
E a + E b এর সমান হতে হবে 1।
সুতরাং, কোনও খেলোয়াড়ের স্কোর হ'ল দশমিক হিসাবে কিছু ম্যাচ জয়ের প্রত্যাশিত সুযোগ।
আপনার প্রোগ্রাম / ফাংশনটিতে 2 ইনপুট, প্লেয়ার এ এর ইএলও এবং প্লেয়ার বি এর ইএলও নেওয়া উচিত এবং দশমিক ফর্ম্যাটে জয়ের জন্য তাদের নিজ নিজ সুযোগটি মুদ্রণ / ফিরিয়ে নেওয়া উচিত। আউটপুটটি অবশ্যই এক পর্যন্ত যুক্ত করা উচিত এবং আপনার অবশ্যই কমপক্ষে 5 দশমিক স্থান ( 0.00000
) হওয়া উচিত। ৫ দশমিক দশকের পরে আপনার অকার্যকর সংখ্যা থাকতে পারে, তবে প্রদত্ত দুটি আউটপুট একটিতে যোগ করে।
উদাহরণ:
1200 2100 -> 0.005591967 0.994408033
1 1 -> 0.5 0.5
60 20 -> 0.557312 0.442688
9999 9998 -> 0.501439 0.498561
9999 1 -> 0.999999 0.000001
চূড়ান্ত পরীক্ষার ক্ষেত্রে, কিছু উত্তর মান উপস্থাপন করতে বৈজ্ঞানিক ক্ষয়ক্ষতি ব্যবহার করে। এটি বৈধ নয়।
আপনি এখানে টেস্ট কেস 3 এ দেখতে পারেন যা 0.557312
একেবারে সঠিক নয়, কারণ এটি 2
হওয়া উচিত একটি 1
, তবে এটি ঠিক আছে কারণ এটি পাঁচ দশমিক জায়গার পরে এবং ফলাফলগুলি এখনও একটিতে যোগ করে।
এটি অবৈধ আউটপুট উদাহরণ:
9999 9998 -> 0.5014391117091516, 0.49856088829084844
দেখে মনে হচ্ছে এটি প্রথম নজরে প্রয়োজনীয়তাগুলি পূরণ করে, তবে সংখ্যাগুলি যোগ করে 1.00000000000000004
এবং ফলে আউটপুটটি বৈধ নয়।
আউটপুটে ট্রেলিং জিরো ঠিক আছে।
আপনি ধরে নিতে পারেন কোনও খেলোয়াড়ের ইএলও সর্বদা 0 এর চেয়ে বেশি হবে এবং 9999 এর চেয়ে বেশি কোনওের ইএলও থাকবে না।
ইনপুট এবং আউটপুট ফর্ম্যাটটি নমনীয় তবে ইনপুট এবং আউটপুটটি এখনও বেস 10 এ থাকতে হবে।
এটি কোড-গল্ফ হিসাবে , সর্বনিম্ন বাইট গণনা সহ উত্তরটি জিতবে!
[9999, 998]
যা বেশিরভাগ উত্তর ব্যর্থ বলে মনে হয়।
9999, 1
আমার নিজের অন্তর্ভুক্ত করে ব্যর্থ হয়েছে , তাই আমি এটি পোস্ট করতে পারি না :-(