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<Integer> 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));
}
}