`
bill600
  • 浏览: 5905 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

关于一个人口比例的问题

 
阅读更多

某国家的家庭都喜欢生男孩,而且一个家庭直到生有男孩为止,否则继续生小孩, 该国当前的男女均衡,问若干年后该国家的男女比例的趋势?

 

据说这是一道阿里云的笔试题,看到很多网友的意见是1:1,本人也试着做一下。 有网友说,数学基础不好,就不要纠结于算法了,深以为然。既然数学不好,那就按需求写代码吧,代码也写不好?那就去当领导吧。

 

就这道题目来说,可以先考察特殊情况。

一对夫妻在三年后的情况

一共有四种

第一种: 第一年生男孩 男孩的比例为1      出现的概率为1/2

第二种: 第二年生男孩 男孩的比例为1/2   出现的概率为1/4

第三种: 第三年生男孩 男孩的比例为1/3   出现的概率为1/8

第四种: 三年都是女孩 男孩的比例为0      出现的概率为1/8

则第三年这对夫妻子女中,男孩比例的期望值为 1*(1/2)+(1/2)*(1/4)+(1/3)*(1/8)+0*(1/8)

 

推广到一般情况,n年后一对夫妻子女中的男孩比例的期望值为:Σ1/(i*2^(i)),这个值显然大于1/2

既然每对夫妻子女中男孩比例的期望值都大于1/2,那么国家必然是男孩多的局面。

 

下面用代码验证

 

 

import java.util.ArrayList;

import java.util.List;

import java.util.Random;

/*

 * 社会类

 * 一个社会由多个夫妻组成

 * 这个社会只关心人口比例(悲剧)

 */

public class Socity {

private List<Couple> list;//夫妻

private int m;//男孩总数

private int f;//女孩总数

public Socity(int n){

//初始化社会,指定这个社会有多少夫妻

this.list=new ArrayList<Couple>();

for(int i=0;i<n;i++){

list.add(new Couple());

}

}

/**

* 计算下n年后男孩的比例

*/

public float getRateOfGender(int n){

int males=0;

int famales=0;

for(int i=0;i<this.list.size();i++){

list.get(i).born(n);

males+=list.get(i).getmN();

famales+=list.get(i).getfN();

}

m=males;

f=famales;

return (float)males/(famales+males);

}

/**

* 夫妻类,这些夫妻只会生孩子(再次悲剧),他们的子女就别生了吧

*

*/

class Couple{

private int mN;//男孩数量

private int fN;//女孩数量

/**

* n年了,光生孩子了

*/

void born(int n){

int tempM=0;

int tempF=0;

Random random=new Random();

boolean stop=false;

for(int i=0;i<n;i++){

if(stop){

break;

}

if(random.nextInt(2)==1){

tempM++;

stop=true;//总算生到男孩了,可以不用生了

}else{

tempF++;

}

}

mN=tempM;

fN=tempF;

}

 

public int getmN() {

return mN;

}

 

public int getfN() {

return fN;

}

}

public List<Couple> getList() {

return list;

}

 

public int getM() {

return m;

}

 

public int getF() {

return f;

}

/**

* 做个试验吧

* 据说社会学是不能做实验的,虚拟世界里,人也成了小白鼠

* 就用10000对夫妻做100次试验吧

* 看看5年后男孩的人口比例到底有多少

*/

 

public static void main(String[] args){

Socity socity=new Socity(10000);

float sum=0;

float average=0;

for(int i=0;i<100;i++){

System.out.println("第"+(i+1)+"次试验");

float rate=socity.getRateOfGender(10);

System.out.println("男性比例为"+rate+" 男性 "+socity.getM()+ " 女性"+socity.getF());

sum+=rate;

System.out.println();

System.out.println();

}

average=sum/100;

System.out.println("100次试验中男性平均比例"+average);

}

 

}


 

 

 

 

 

 

0
3
分享到:
评论
2 楼 bill600 2011-10-17  
OpenMind 写道
按照你的思路,把所有“男孩”改成“女孩”,所有“女孩”改成“男孩”得出的结论就是:女孩比男孩多...矛盾,你的这些思路是错误的。这就是一个简单的等概率的二项分布。
你要是非要把三次生育看出一个因果试验过程的话,那么第二年生男孩的"果”有第一年生男孩和生女孩两种“因”吧,也不应该是1/2×1/2=1/4,三次生育的可能性有2^3=8种啊,怎么变成4种了?回去多看看概率的书吧。

在没有条件限制下,你说的没错。
现在的条件是,生了男孩就不生了。
在三年当中,有可能在第二年生男孩,这样第三年就不用生了。
另外,我写的代码是纯描述性的,可以用代码来验证。
能够正确理解需求是程序员的基本要求吧

1 楼 OpenMind 2011-10-17  
按照你的思路,把所有“男孩”改成“女孩”,所有“女孩”改成“男孩”得出的结论就是:女孩比男孩多...矛盾,你的这些思路是错误的。这就是一个简单的等概率的二项分布。
你要是非要把三次生育看出一个因果试验过程的话,那么第二年生男孩的"果”有第一年生男孩和生女孩两种“因”吧,也不应该是1/2×1/2=1/4,三次生育的可能性有2^3=8种啊,怎么变成4种了?回去多看看概率的书吧。

相关推荐

    1960-2022世界各国城镇人口占总人口的比例数据

    低反应出一个地区的工业化、城镇化或城市化水平。在中国大陆,“城镇人口”自1990 年代前后在统计学领域渐渐使用较多的用语,以代替之前非农业人口。在统计上,城镇人口 为在城镇居住时间超过6个月以上的人口。

    中国人口增长预测问题

    - **老龄化加速**:随着平均寿命的延长和生育率的下降,老年人口比例不断上升。 - **出生人口性别比升高**:传统观念导致男孩偏好现象严重,从而使得出生人口的性别比失衡。 - **城镇化进程加快**:大量的农村人口向...

    数学建模 人口增长预测模型

    1. 请你(们)选择或提出若干人口关键指标,例如14岁以下人口占总人口比例,60岁以上人口占总人口比例,一对夫妇平均生育孩子数量,1980-2017全国小学生数量,全国人口平均年龄(核算每种指标社会正常运行的最低值、...

    重庆市人口老龄化趋势与对策分析.docx

    老龄化已经成为全球一个迫在眉睫的重大问题,国内外都对此问题进行了深入研究并积极寻找相应的对策。 二、重庆市人口老龄化现状 根据中国第六次人口普查的结果,到2010年,中国31个省市自治区中,有26个地区的老年...

    关于人口问题数学建模.doc

    在中国这个人口大国,人口问题对国家的可持续发展具有深远影响。本文主要探讨了如何通过数学建模方法对中国人口增长进行预测,以及模型在中短期和长期预测中的应用。 1. **Malthus 微分方程**:Malthus模型是一种...

    数学建模人口预报问题.pdf

    在文档提供的部分数据中,我们可以看到人口数据以每十年为一个阶段,统计了1790年至1990年的人口数量。从这些数据可以看出人口数量随着时间的增长趋势。同时,文档中也列出了不同年份的人口增长率以及环境承载量的...

    数据挖掘技术与应用:绘制人口比例饼图.docx

    在代码段中,我们可以看到一个循环用于绘制从1996年到2015年每年的男女人口和乡镇人口比例。`add_subplot()`函数创建了子图,`figsize`参数设定了图表的大小。通过循环,每20年中有20个子图,其中前10个展示男女人口...

    关于人口问题的几种建模实例

    对于丁克现象,可以特别关注那些达到生育年龄但选择不生育的个体比例,以及这种趋势如何影响未来的人口老龄化问题。 在实际应用中,这些模型可以帮助政策制定者预测未来人口发展趋势,以便于制定相应的社会政策和...

    第六次人口普查全国各街道人口数据

    年轻人口的比重反映了一个地区的活力和发展潜力,中年人口则决定了经济活动的活跃度,老年人口比例则预示着未来的养老负担。 通过《第六次人口普查全国各街道人口数据EXCEL》这份资料,我们可以进行多维度的区域...

    1960-2019年世界各国人口数据(人均gdp、人口密度、城镇人口数量及比例)

    标题中的“1960-2019年世界各国人口数据”揭示了这是一个关于全球各国在长达近六十年间的人口统计分析。这些数据涵盖了重要的经济和社会指标,包括人均GDP(国内生产总值)、人口密度以及城镇人口的数量和比例。这些...

    福建人口性别比例失衡主因调查-论文.zip

    在当前的社会背景下,人口性别比例失衡是一个全球性问题,尤其是在中国,由于历史文化和政策因素,这一问题尤为突出。福建作为中国的一个省份,其人口性别比例失衡的问题同样值得关注。 论文可能首先会介绍人口性别...

    数学建模中有关人口问题的答案

    人口问题是当今世界面临的重要议题之一,它不仅关乎资源分配、环境保护,还涉及到社会经济发展等多个方面。为了更好地理解和解决这些问题,数学建模作为一种强有力的工具被广泛应用。本文将详细介绍几种常见的人口...

    鸭2021版新高考地理一轮复习第六单元人口与地理环境第21讲人口增长与人口问题人口分布与人口合理容量达标检测知能提升鲁教版

    例如,描述中的"二孩政策"是为了应对人口结构不合理,尤其是儿童和老年人口比例失衡而实施的政策。此政策旨在通过提高生育率来改善人口年龄结构,促进人口均衡发展。 【人口分布与人口合理容量】人口分布是指人口在...

    第七次人口普查.zip

    这份压缩包文件“第七次人口普查.zip”包含了对这次普查的详细数据,主要文件为“第七次人口普查.xlsx”,里面涵盖了各省份的人口数量、占比、性别比例以及城镇人口比例等关键信息。 首先,人口总数是衡量一个国家...

    世界各国人口数据.zip

    "世界各国人口数据.zip"这个压缩包文件为我们提供了一个宝贵的资源,让我们有机会深入探究全球各国家和地区的人口现状。这份资料包含的文件名为“各国人口”,预计将涵盖全球各个国家和地区的最新人口统计数据。 ...

    中国人口增长预测问题的研究

    - **老年人口比例预测**:同时预测了50岁以上老年人口占总人口比例的变化趋势。 #### 四、模型的优缺点分析 - **优点**: - 结合了多个关键因素(如净迁出率、性别比、生育率和死亡率)进行全面预测。 - 使用了...

    【三维设计】2014高考地理一轮复习 第二部分 第五单元 第一讲 人口增长与人口问题教师配选作业(含解析) 鲁教版

    13. **人口普查的意义**:人口普查为国家政策制定提供依据,如图所示,人口普查数据可以揭示人口年龄结构变化,例如婴幼儿人口比例下降可能反映出生育政策的效应,老年人口比例上升则表明老龄化问题日益严重。...

    (完整word版)人口老龄化文献综述.docx

    衡量人口老龄化的指标包括程度指标(如老年人口比重、人口年龄中位数和老少比)、速度指标(老年人口比例的年平均增长率等)和社会经济影响指标(如少儿人口抚养比、老年人口抚养比和总人口抚养比)。 【中国人口...

    基于改进的logistics的人口预测模型 数学建模报告

    这里引入了一个新的变量\(\Delta P\),它表示的是除了自然增长率之外的其他因素对人口变化的影响,比如迁入迁出比例、性别比等。 #### 模型建立过程 1. **假设条件**:设定初始人口数量为\(x_0\),在时刻\(t\)的...

Global site tag (gtag.js) - Google Analytics