Description
Sometimes some mathematical results is hard to believe. One of the common problems is the birthday paradox. Suppose you is in a party where there is people including you. What's the probability that at least and the party has same birthday? Surprisingly the result is more than 0.5. Now this is the opposite. You are given the number of days in a year. Remember that's you can are in a different planet, for example, in Mars, and a year are669 days long. You has to find the minimum number of people you has to invite in a party such that the probability of at least B peop The Le in the party has same birthday is at least 0.5.
Input
Input starts with an integer T (≤20000), denoting the number of test cases.
Each case contains an integer n (1≤n≤105) in a single line, denoting the number of days in a year in the plan Et.
Output
For each case, print the case number and the desired result.
Sample Input
2
365
669
Sample Output
Case 1:22
Case 2:30
Analysis:
In order to prevent overflow, we will take the side while removing! Calculate the probability of a birthday not on the same day, and then subtract it.
Ps:50 People's party birthday same probability unexpectedly up to 93%!!!!!!
#include <iostream>using namespacestd;intN;intBirthdayintx) { Doublec =1.0; intm =0; for(inti =0;; i++) {C*= (Double) (n-i)/n;//Prevent overflowm++; if(1.0-C >=0.5) Break; } returnm;}intMain () {intT, ans =1; CIN>>T; while(t--) {cin>>N; cout<<" Case"<< ans++ <<": "<< Birthday (N)-1<< Endl;//to subtract my } return 0;}
Calculate the same probability of birthday