假设所有年份都只有365天,求n个人中,出现生日相同的概率。
输入n
输出相同的概率(保留3位有效数字即可)
算法分析:n个人的生日是随机的一共有365的n次方种,都不同的种数是365对n进行全排列,然后用1减去即可。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()
{
float sum=1,n,i1;
char str[10];
cin>>n;
for(int i=365;i>365-n;i--)
{
i1=i;
sum=sum*i1/365;
}
i1=1-sum;
if(i1<0.001) printf("%.6f",i1);
else if( i1<0.01) printf("%.5f",i1);
else if(i1<0.1) printf("%.4f",i1);
else printf("%.3f",i1);//当n太大时就不对啦
return 0;
}