수치해석 시간에 교수님께서 간단한 문제를 이야기 하셨다.
아들이 많을 경우는 아들만 낳고 그만두기 때문이고 딸이 많을 때는 아들을 낳기 위해 여러번 출산하기 때문이다.
따라서 실제로는 성비가 5:5에 가깝게 나타난다. 이것은 마을의 인구를 늘려도 마찬가지다.
실제 세상에서는 아들을 선호하기는 하지만 여러명 낳을 경우의 부담과, 딸만 놓고 그만두는 경우를 생각하면 아들 하나만 낳는 경우도 많기에 실제로는 딸이 더 많은 것이 아닐까?
어떤 가상의 나라에 한 마을에 100가구가 있는데, 그 마을은 남아를 선호한다고 한다.수업이 끝나고 공부를 하다가 머리를 식힐겸 간단한 프로그래밍을 해봤다.
나라의 법칙상 아이는 5명까지 낳을 수 있다고 하는데
아들을 낳고 다음 아이를 낳지 않을 확률은 70%이고, 딸을 놓고 다음아이를 낳지 않을 확률은 30%라고 한다.
만약 임신중절이나 별 다른 방법을 쓰지 않고 오로지 자연적인 출산을 할 때의 그 마을 아이들의 성비를 구하라.
#include<stdio.h>컴파일하고 실행시켰더니 웬걸. 오히려 아들이 많을 때도 있고, 딸이 많을 때도 있더라.
#include<stdlib.h>
#include<math.h>
#include<time.h>
#define PEOPLEMAX 100
#define BESTTIMES 5
#define MEND 70
#define WEND 30
int main(int argc, char *argv[])
{
int people, times, m=0, w=0;
srand(time(0));
for(people=1;people!=PEOPLEMAX+1;people++)
{
printf("\n%d번째 집 : \t",people);
for(times=1;times!=BESTTIMES+1;times++)
{
if(rand()%2 == 0)
{
m++;
printf("아들 \t");
if(rand()%101 <MEND)
break;
}
else{
w++;
printf("딸 \t");
if(rand()%101 <WEND)
break;
}
}
}
printf("\n마을의 아들은 %d명 딸은 %d명 입니다. \n성비는 %d : %d\n",m,w, m*100/(m+w),w*100/(m+w));
return 0;
}
아들이 많을 경우는 아들만 낳고 그만두기 때문이고 딸이 많을 때는 아들을 낳기 위해 여러번 출산하기 때문이다.
따라서 실제로는 성비가 5:5에 가깝게 나타난다. 이것은 마을의 인구를 늘려도 마찬가지다.
실제 세상에서는 아들을 선호하기는 하지만 여러명 낳을 경우의 부담과, 딸만 놓고 그만두는 경우를 생각하면 아들 하나만 낳는 경우도 많기에 실제로는 딸이 더 많은 것이 아닐까?
'장난질' 카테고리의 다른 글
| 재미있는 퍼즐게임 - Bloxorz. (0) | 2007/10/11 |
|---|---|
| Ubuntu에 EZ-X5 크로스컴파일 환경 만들기 (0) | 2007/10/10 |
| 소수 구하기 (0) | 2007/09/28 |
| 귓속말 전달하기 게임. (0) | 2007/09/12 |
| 내가 쓰는 노트북 환경 (0) | 2007/09/06 |
| 남아선호사상은 실제론 성비에 별 영향을 안미친다? (5) | 2007/09/06 |
이올린에 북마크하기
이올린에 추천하기
