// Probabilité pour que deux personnes aient leur
// anniversaire le même jour dans une assemblée
// de  nP  personnes.

// clear;  // efface toutes les variables en mémoire.

nbCoincidences = 0; // nombre de fois où deux personnes ont leur anniversaire le même jour.
nP = 20; // nombre de personnes

N = 10000;  // nombre de tests
nCount = 0; // compteur du nombre de tests
while (nCount < N) do // boucle de tests
  nCount = nCount+1;
  P1 = floor(365*rand(nP,1));  // jour d'anniversaires des  nP  personnes
  P1 = gsort(P1);              // tri par ordre décroissant

  // test s'il y a coincidence
  for j=2:nP do
    if( P1(j-1) == P1(j)) then
      nbCoincidences = nbCoincidences+1;  // oui, il y a une coincidence
      break;
    end;
  end; // for
end; // while (boucle de tests

disp("nombre de coincidences = " + string(nbCoincidences) + " / " + string(N) +..
    "  fréquence = " + string(nbCoincidences/N));
