بعد تخرّجك مباشرة من الجامعة، تُقيم حفلة ضخمة للاحتفال مع الأصدقاء والعائلة. وقد حضر أكثر من 70 شخصًا، بمن فيهم عمّك Ted غريب الأطوار قليلًا.
في إحدى مقالبه المعتادة، يراهنك على £100 أنه يوجد شخصان على الأقل في القاعة يشتركان في نفس تاريخ الميلاد. يبدو ذلك سخيفًا، فتواريخ الميلاد المحتملة أكثر بكثير من عدد الضيوف، لذا تقبل الرهان بثقة.
ولدهشتك، بعد جمع تواريخ ميلاد 32 ضيفًا فقط، وجدت بالفعل ضيفين يشتركان في نفس تاريخ الميلاد. وبعد أن تقبّلت خسارتك، تسلّم عمّك Ted مبلغ £100، لكن شيئًا ما يبدو غير طبيعي.
في اليوم التالي، يغلبك الفضول. يقودك بحث سريع على الويب إلى مفارقة عيد الميلاد، التي تكشف أنه مع 23 شخصًا فقط، يتجاوز احتمال تشابه تاريخ الميلاد 50%.
آه. إذن هذا هو سبب ثقة عمّك Ted الشديدة.
وبعزيمة على قلب الطاولة، تبدأ في البحث عن مفارقات أخرى؛ في المرة القادمة، ستكون أنت من يعقد الرهانات.
مفارقة عيد الميلاد هي مفارقة صادقة: فرغم أنها تبدو خاطئة، إلا أنها صحيحة في الواقع.
مهمتك أن تقدّر احتمالات مفارقة عيد الميلاد.
للقيام بذلك، عليك أن:
يشمل تاريخ الميلاد تاريخ الولادة كاملًا (السنة والشهر واليوم)، بينما يشير عيد الميلاد إلى الشهر واليوم فقط، وهما يتكرران كل عام. تاريخا ميلاد لهما الشهر واليوم نفسهما يقابلان عيد الميلاد نفسه.
تفترض مفارقة عيد الميلاد ما يلي:
يجب أن يتّبع تنفيذك هذه الافتراضات.
سجّل في Exercism لتتعلّم وتتقن C# عبر 62 مفهومًا178 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.