說明:由於計算機產生的是偽隨機數,所以重複的機率比較高。
思路:1年365天,用1到365表示。50個同學的生日用陣列儲存,隨機產生一個1-365之間的數字作為生日然後對陣列進行相似判斷,一旦有2個同學生日相同就返回1.然後計數器加1.最後處以總模擬的次數。
程式碼:
#include "stdio.h"
#include "conio.h"
#include <time.h>
#include <math.h>
#include<stdlib.h>
void randomBirthday(int a[], int n)
{
int i;
time_t t;
srand((unsigned)time(&t));
for (i = 0; i<n; i++)
a[i] = (rand() % 365) + 1;
}
int isSameWithTwo(int a[], int n)
int temp = -1;
int i, j;
for (i = 0; i<n - 1; i++)
temp = a[i];
for (j = i + 1; j<n; j++)
if (temp == a[j])
return 1;
return 0;
void main()
int birthday[50];
int i, same = 0;
for (i = 0; i<100000; i++)
randomBirthday(birthday, 50);
if (isSameWithTwo(birthday, 50) == 1)
same++;
printf("100000次測試,有%d 次出現相同的,相同的機率是:%lf", same, same*1.0 / 100000);
getchar();
效果:100000次測試,有100000 次出現相同的,相同的機率是:1.000000
【說明】隨機數是偽隨機數,而且模擬了10w次,這個機率是無限次接近1的。
我測試了下,基本每一次都有2個生日是統一天的。
所以機率是1. 理論上是97%,大三組合數學上有證明的。
執行結果:
我現在已經畢業將近兩年了,從大學開始學程式設計,期間學習了C需要程式設計,C++需要程式設計,Win32程式設計,MFC程式設計,畢業之後進入一家影象處理相關領域的公司,掌握了用OpenCV對影象進行處理,如果大家對相關領域感興趣的話,可以關注我,我這邊會為大家進行解答哦!我這邊還有c、c++、Win32、MFC程式設計相關資料哦,有興趣的朋友可以關注我,找我要哦!免費噠!
說明:由於計算機產生的是偽隨機數,所以重複的機率比較高。
思路:1年365天,用1到365表示。50個同學的生日用陣列儲存,隨機產生一個1-365之間的數字作為生日然後對陣列進行相似判斷,一旦有2個同學生日相同就返回1.然後計數器加1.最後處以總模擬的次數。
程式碼:
#include "stdio.h"
#include "conio.h"
#include <time.h>
#include <math.h>
#include<stdlib.h>
void randomBirthday(int a[], int n)
{
int i;
time_t t;
srand((unsigned)time(&t));
for (i = 0; i<n; i++)
{
a[i] = (rand() % 365) + 1;
}
}
int isSameWithTwo(int a[], int n)
{
int temp = -1;
int i, j;
for (i = 0; i<n - 1; i++)
{
temp = a[i];
for (j = i + 1; j<n; j++)
{
if (temp == a[j])
{
return 1;
}
}
}
return 0;
}
void main()
{
int birthday[50];
int i, same = 0;
for (i = 0; i<100000; i++)
{
randomBirthday(birthday, 50);
if (isSameWithTwo(birthday, 50) == 1)
{
same++;
}
}
printf("100000次測試,有%d 次出現相同的,相同的機率是:%lf", same, same*1.0 / 100000);
getchar();
}
效果:100000次測試,有100000 次出現相同的,相同的機率是:1.000000
【說明】隨機數是偽隨機數,而且模擬了10w次,這個機率是無限次接近1的。
我測試了下,基本每一次都有2個生日是統一天的。
所以機率是1. 理論上是97%,大三組合數學上有證明的。
執行結果:
我現在已經畢業將近兩年了,從大學開始學程式設計,期間學習了C需要程式設計,C++需要程式設計,Win32程式設計,MFC程式設計,畢業之後進入一家影象處理相關領域的公司,掌握了用OpenCV對影象進行處理,如果大家對相關領域感興趣的話,可以關注我,我這邊會為大家進行解答哦!我這邊還有c、c++、Win32、MFC程式設計相關資料哦,有興趣的朋友可以關注我,找我要哦!免費噠!