Διαδρομές
/
PHP
PHP
/
Ασκήσεις
/
Μπερδεμένα Γενέθλια
Μπερδεμένα Γενέθλια

Μπερδεμένα Γενέθλια

Μέτριο

Εισαγωγή

Μόλις αποφοίτησες από το πανεπιστήμιο και διοργανώνεις ένα τεράστιο πάρτι για να γιορτάσεις με φίλους και οικογένεια. Πάνω από 70 άτομα έχουν έρθει, ανάμεσά τους και ο ελαφρώς εκκεντρικός θείος σου ο Ted.

Σε ένα από τα συνηθισμένα του καμώματα, σου βάζει στοίχημα 100 λίρες ότι τουλάχιστον δύο άτομα στον χώρο έχουν τα ίδια γενέθλια. Αυτό ακούγεται γελοίο, αφού υπάρχουν πολύ περισσότερες πιθανές ημερομηνίες γενεθλίων απ' ό,τι καλεσμένοι, οπότε το δέχεσαι με σιγουριά.

Προς μεγάλη σου έκπληξη, αφού συγκέντρωσες τα γενέθλια μόλις 32 καλεσμένων, έχεις ήδη βρει δύο καλεσμένους που έχουν τα ίδια γενέθλια. Παραδέχεσαι την ήττα σου και δίνεις στον θείο Ted τις 100 λίρες, αλλά κάτι δεν πάει καλά.

Την επόμενη μέρα, η περιέργεια σε νικά. Μια γρήγορη αναζήτηση στο διαδίκτυο σε οδηγεί στο παράδοξο των γενεθλίων, το οποίο αποκαλύπτει ότι με μόλις 23 άτομα, η πιθανότητα να έχουν δύο άτομα τα ίδια γενέθλια ξεπερνά το 50%.

Αχά. Γι' αυτό λοιπόν ήταν τόσο σίγουρος ο θείος Ted.

Αποφασισμένος να αντιστρέψεις την κατάσταση, αρχίζεις να ψάχνεις άλλα παράδοξα. Την επόμενη φορά, εσύ θα είσαι αυτός που θα βάζει τα στοιχήματα.

Note

Το παράδοξο των γενεθλίων είναι ένα αληθές παράδοξο: παρόλο που φαίνεται λάθος, στην πραγματικότητα ισχύει.

Οδηγίες

Το καθήκον σου είναι να εκτιμήσεις τις πιθανότητες του παραδόξου των γενεθλίων.

Για να το κάνεις αυτό, πρέπει να:

  • Παράγεις τυχαίες ημερομηνίες γέννησης.
  • Ελέγχεις αν μια συλλογή από τυχαία παραγόμενες ημερομηνίες γέννησης περιέχει τουλάχιστον δύο με τα ίδια γενέθλια.
  • Εκτιμάς την πιθανότητα τουλάχιστον δύο άτομα σε μια ομάδα να έχουν τα ίδια γενέθλια, για διάφορα μεγέθη ομάδας.
Note

Μια ημερομηνία γέννησης περιλαμβάνει την πλήρη ημερομηνία γέννησης (έτος, μήνα και ημέρα), ενώ τα γενέθλια αναφέρονται μόνο στον μήνα και την ημέρα, που επαναλαμβάνονται κάθε χρόνο. Δύο ημερομηνίες γέννησης με τον ίδιο μήνα και την ίδια ημέρα αντιστοιχούν στα ίδια γενέθλια.

Caution

Το παράδοξο των γενεθλίων προϋποθέτει ότι:

  • Υπάρχουν 365 πιθανά γενέθλια (χωρίς δίσεκτα έτη).
  • Καθένα από τα γενέθλια είναι εξίσου πιθανό (ομοιόμορφη κατανομή).

Η υλοποίησή σου πρέπει να ακολουθεί αυτές τις προϋποθέσεις.


Πηγή

Erik SchierboomΟ σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
PHP Exercism

Έτοιμος να ξεκινήσεις την άσκηση Μπερδεμένα Γενέθλια;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις PHP με 11 έννοιες121 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.