import java.util.HashSet; import java.util.Random; public class MainTp1Math { /** * @param args */ public static void main(String[] args) { question1a(); question1b(); question1c(); question2(); } private static void question1c() { Random gen = new Random(System.currentTimeMillis()); int nbDoubles =0; HashSet dates = new HashSet<>(); for (int i = 0;i<1000;i++){ //faire l'expérience 1000 fois for (int j =0;j<30;j++){ //générer 30 fois dates.add(gen.nextInt(365)); } if (dates.size()!=30){ nbDoubles++; } dates.clear(); } System.out.printf("\n1C:\nIl y a eu %d doublons dans les 1000 expériences, ce qui est un pourcentage de %f%%",nbDoubles, nbDoubles/10.); } private static void question1b() { System.out.println("\n1b :"); for (int i = 5;i<405;i+=5){ calculAnniversaire(i); } } private static void question1a() { System.out.println("1a :"); calculAnniversaire(30); } public static void calculAnniversaire(int nb){ double p = 1; for (double n = 364; n > 365-nb; n--) { p *= n / 365.; } System.out.printf( "Pour %d personnes, il y a %f%% de chance d'avoir une collition\n",nb,((1-p)*100)); } }