Fraîchement diplômé, tu organises une grande fête pour célébrer avec tes amis et ta famille. Plus de 70 personnes sont venues, dont ton oncle Ted, un brin excentrique.
Dans l'une de ses facéties habituelles, il te parie 100 £ qu'au moins deux personnes dans la salle partagent le même anniversaire. Ça semble ridicule : il y a bien plus d'anniversaires possibles que d'invités, alors tu acceptes avec assurance.
À ta grande surprise, après avoir relevé l'anniversaire de seulement 32 invités, tu as déjà trouvé deux personnes qui partagent le même anniversaire. Tu acceptes ta défaite et tends les 100 £ à oncle Ted, mais quelque chose cloche.
Le lendemain, la curiosité l'emporte. Une rapide recherche sur le web te mène au paradoxe des anniversaires, qui révèle qu'avec seulement 23 personnes, la probabilité que deux d'entre elles partagent un anniversaire dépasse 50 %.
Ah. Voilà donc pourquoi oncle Ted était si sûr de lui.
Bien décidé à inverser la tendance, tu te mets à chercher d'autres paradoxes ; la prochaine fois, c'est toi qui parieras.
Le paradoxe des anniversaires est un paradoxe véridique : même s'il semble faux, il est bel et bien vrai.
Ta tâche consiste à estimer les probabilités du paradoxe des anniversaires.
Pour cela, tu dois :
Une date de naissance comprend la date complète de naissance (année, mois et jour), tandis qu'un anniversaire ne désigne que le mois et le jour, qui se répètent chaque année. Deux dates de naissance ayant le même mois et le même jour correspondent au même anniversaire.
Le paradoxe des anniversaires suppose que :
Ton implémentation doit respecter ces hypothèses.
Inscris-toi sur Exercism pour apprendre et maîtriser PHP avec 11 concepts121 exercices, et un vrai mentorat humain, le tout gratuitement.