摘要:
Visual C++ 5.0 以其功能强大、用户界面友好而倍受程序员们的青睐。但是,在当前的Microsoft 基本类库4.2 版本中,大约有将近200 个类,数千个函数,加之Microsoft 公司隐藏了一些技术细节,使得人们深入学习MFC变得十分困难。 MFC的AppWizard可以生成三种类型的应用程序:基于对话框的应用、单文档应用(SDI)和多文档应用(MDI)。前两者的结构较简单,本文不... 阅读全文
摘要:
规则1:对变量加前缀 始终在一个变量的前面加上一个或者多个小写字母来作为前缀,这些字母用来表示该变量的类型。在大多数情况下,这是变量类型的第一个字母,因此很容易记住应该使用哪一个字母。下面的示例显示了最常用的一些前缀。 a 数组 ... 阅读全文
摘要:
中国人做事不成的原因之一是语文太好,数学太差,往往逻辑和方向都是对的,而没有把资源和关键点算清楚安排好。而我是个典型的中国人。所以要加强数学练习。 昨天和公军兄,又一起做题。将我们算的结果及推论附上,欢迎大家同算,提出不同的答案。 题一、全中国每天有多少人上网 数据全部来自CNNIC的2008年1月报告。 根据网民总数2.1亿,上网场所比例、年龄比例、职务比例、上网时长比例。去掉2500万互联... 阅读全文
摘要:
中国人做事不成的原因之一是语文太好,数学太差,往往逻辑和方向都是对的,而没有把资源和关键点算清楚安排好。而我是个典型的中国人。所以要加强数学练习。 昨天和公军兄,又一起做题。将我们算的结果及推论附上,欢迎大家同算,提出不同的答案。 题一、全中国每天有多少人上网 数据全部来自CNNIC的2008年1月报告。 根据网民总数2.1亿,上网场所比例、年龄比例、职务比例、上网时长比例。去掉2500万互联... 阅读全文
摘要:
中国人做事不成的原因之一是语文太好,数学太差,往往逻辑和方向都是对的,而没有把资源和关键点算清楚安排好。而我是个典型的中国人。所以要加强数学练习。 昨天和公军兄,又一起做题。将我们算的结果及推论附上,欢迎大家同算,提出不同的答案。 题一、全中国每天有多少人上网 数据全部来自CNNIC的2008年1月报告。 根据网民总数2.1亿,上网场所比例、年龄比例、职务比例、上网时长比例。去掉2500万互联... 阅读全文
摘要:
我意识到数学有用,是今年黄金周看《昆仑》那本武侠小说开始。 主人公梁箫武功好,数学更好。当他从一个游侠转身为蒙古军队将领的时候,意识到单兵对决,个体战斗力很重要,而指挥千军万马,靠得是数学与运筹。 我们从小学开始的所有课程,除了数学,全都是为了提高个体战斗力的东西;而数学,是只有在管理资源的时候才有用,对个体战斗力来讲,小学数学就够了。 《昆仑》里,梁箫和回族占星师的对话,让我对数学怦然心动。梁箫... 阅读全文
摘要:
愿赌服输,所以大多数赌博的结果基本上是不受自己控制的。但最优化赌博成功的概率还是可以做到的。 我们现在讨论一个非常简单的游戏,假设有数量为的本钱,赌博规则为每次可以压任意多的钱,赌博结果为以的概率赢回同样多的钱(输了的话压出去的钱就没了)。如果赌博的目标是本钱增长到或者破产(输光所有的钱为止)。问什么样的方式可以最大化成功(赢到走人)的概率呢? 显然对于的不同大小有三种可能性: :这时候... 阅读全文
摘要:
"杀人游戏",英文名为"Mafia Game",广泛流传于国内外。上个星期我们在玩的时候被Elchanan Mossel发现,然后他给了一个talk,内容就是杀人的理论分析。 他的论文在这里:Mafia : A Theoretical Study Of Players and Coalitions in a Partial Information Environment。 不过很可惜的是,国外和... 阅读全文
摘要:
2005年的诺贝尔经济学奖金授予了以色列经济学家罗伯特-奥曼和美国经济学家托马斯-斯切林,再次证明了犹太科学家在这个领域的超群优势。事实上,犹太人的这种优势并不只是近代才有的事情,犹太教法典《塔木德》时代的犹太拉比们就已经具备了出色的博弈论知识,而且这种知识被罗伯特-奥曼1985年发表的一篇论文所证实。 事情起源于《塔木德.妇女部.婚书卷》第十章第四节中犹太教拉比们所进行的一场如下裁决: “若... 阅读全文
摘要:
在犹太教法典《塔木德》里讲述了这么一个案例:一名富翁向他的三位妻子许诺他死后将给大老婆300金币,二老婆200金币,小老婆100金币。可是等他死后人们清算遗产的时候,发现这名富翁撒谎了,他只有300金币的财产,问这时候他的三名妻子各应该分多少金币? 《塔木德》给的答案是150,100,50,看上去似乎没什么惊奇的,不就是按照比例分配么?可是同时给出的另外情况,如果富翁只有200的遗产或者100的遗... 阅读全文
摘要:
这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个教徒和15 个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一圆圈,从第一个人开始依次报数,每数到第九个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是非教徒。 *问题分析与算法设计 约瑟夫问题并不难,但求解的方法很多;题目的变化形式也... 阅读全文
摘要:
某人有四张3分的邮票和三张5分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资? *问题分析与算法设计 将问题进行数学分析,不同张数和面值的邮票组成的邮资可用下列公式计算: S=3*i+5*j 其中i为3分邮柰的张数,j为5分的张数 按题目的要求,3分的邮票可以取0、1、2、3、4张,5分的邮票可以取0、1、2、3张。采用穷举方法进行组合,可以求出这些不同面值不同张数的邮标组合后的邮资... 阅读全文
摘要:
已知五个互不相同的正整数之和为23,且从这五个数中挑选若干个加起来可以表示从1到23之内的全部自然数。问这五个数是什么? *问题分析与算法设计 从计算机程序设计的角度来说,可以用穷举法分解23,然后判断所分解的五个数是否可以表示1到23 之间的全部整数。 *程序说明与注释 #include int main() { int a,b,c,d,e,i,j,k,l,m,x,count=0,f=0; ... 阅读全文
摘要:
法国数学家梅齐亚克在他著名的《数字组合游戏》(1962)中提出了一个问题:一位商人有一个重40磅的砝码,一天不小心将砝码摔成了四块。后来商人称得每块的重量都是整磅数,而且发现这四块碎片可以在天平上称1至40磅之间的任意重量。请问这四块碎片各重多少? *问题分析与算法设计 本题是上一题的发展。题目中给出的条件是“在天平上”,这意味着:同一砝码既可以放在天平的左侧,也可以放在天平的右侧。若规定重... 阅读全文
摘要:
十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。然后所有的小孩同时将手中的糖分一半给右边的小孩;糖块数为奇数的人可向老师要一块。问经过这样几次后大家手中的糖的块数一样多?每人各有多少块糖? *问题分析与算法设计 题目描述的分糖过程是一个机械的... 阅读全文
摘要:
小明假期同爸爸一起去书店,他选中了六本书,每本书的单价分别为:3.1,1.7,2,5.3,0.9和7.2。不巧的是,小明的爸爸只带了十几块钱,为了让小明过一个愉快的假期,爸爸扔然同意买书,但提邮购一个要求,要小明从六本书中选出若干本,使得单价相加所得的和同10最接近。你能够帮助小明解决这个问题吗? *问题分析与算法设计 分析题意,可将题目简化为:从六个数中选出若干个求和,使得和与10的差值最... 阅读全文
摘要:
法国著名数学家波瓦松在表年时代研究过一个有趣的数学问题:某人有12品脱的啤酒一瓶,想从中倒出6品脱,但他没有6品脱的容器,仅有一个8品脱和5品脱的容器,怎样倒才能将啤酒分为两个6品脱呢? *问题分析与算法设计 将12品脱酒 8品脱和5品脱的空瓶平分,可以抽象为解不定方程: 8x-5y=6 其意义是:从12品脱的瓶中向8品脱的瓶中倒x次,并且将5品脱瓶中的酒向12品脱的瓶中倒y次,最后在12品脱的... 阅读全文
摘要:
请利用“正多边形逼近”的方法求出π的近似值 *问题分析与算法设计利用“正多边形逼近”的方法求出π值在很早以前就存在,我们的先人祖冲之就是用这种方法在世界上第一个得到精确度达小数点后第6位的π值的。利用圆内接正六边形边长等于半径的特点将边数翻番,作出正十二边形,求出边长,重复这一过程,就可获得所需精度的π的近似值。假设单位圆内接多边形的边长为2b,边数为i,则边数加倍后新的正多边形的边长为: x=√... 阅读全文
摘要:
利用随机数法求π的近似值 *问题分析与算法设计 随机数法求π的近似值的思路:在一个单位边长的正方形中,以边长为半径,以一个顶点为圆心,在政权方形上作四分之一圆。随机的向正方形内扔点,若落入四分之一圆内则计数。重复向正方形内扔足够多的点,将落入四分之一圆内的计数除以总的点数,其值就是π值四分之一的近似值。 按此方法可直接进行编程,注意:本方法求出的π值只有统计次数足够多时才可能准确。 *程序说明... 阅读全文
摘要:
编程验证“大于1000的奇数其平方与1的差是8的倍数”。 *问题分析与算法设计 本题是一个很容易证明的数学定理,我们可以编写程序验证它。 题目中给出的处理过程很清楚,算法不需要特殊设计。可以按照题目的叙述直接进行验证(程序中仅验证到3000)。 *程序说明与注释 #include int main() { long int a; for(a=1001;a<=3000;a+=2) { print... 阅读全文