趣味数学和C
知到APP趣味数学免费答案.docx

知到APP趣味数学免费答案问:c在质能方程E=mc²中,是指什么?()答:光速问:爱因斯坦的儿子获得过诺贝尔奖。
()答:×问:爱因斯坦提出相对论时没有参考哪些实验?()答:迈克尔逊实验洛伦兹实验庞加莱实验问:恒星若以v的速度运动,那么恒星发出光的速度则是c+v。
()答:×问:捕蝇草在()情况下消耗的能量最多。
答:C问:每周2学时的体育课能够充分满足大学生身体活动的需要。
答:×问:壁球中发球的基本站位要求是什么?()答:以上都可以问:红外线波长为______________,紫外线波长为______________。
答:第一空:红外线波长为760nm-400um,紫外线波长为400nm-180nm。
问:()的画被认为是“无产阶级撒向资产阶级的炸弹”。
答:米勒问:在TRIZ理论的发明原理中,用红外线或紫外线替代可见光复制品,体现了()。
答:复制原理问:人格是一个人成长历史的缩影。
答:√问:为了民族独立和情报保密,西夏民族创制西夏文。
()答:√问:变更名称未满( )的其他企业的原名称,是不能使用的。
答:1问:企业名称由( )等构成。
答:行政区划名称字号行业或经营特点组织形式问:注册公司的注册资金是认缴制。
( )答:√问:下列哪一项不属于创业者获得风险投资的渠道:答:只要项目好,就会有人来找问:西方以深刻的思想力和文化内涵来作为文学评价的标准。
答:正确问:以下说法不符合中餐中敬酒的礼仪文化的是()。
答:祝酒词是西方餐桌文化中才有,而中餐中并没有祝酒词一说。
问:麦克斯韦认为,光是作为波在()中传播的。
答:以太问:原铁道部长刘志军信风水,这是一种堕落的表现。
()答:正确问:如果要删除某个对象上的动画效果,只需要用鼠标单击该对象,然后按下键盘上的Delete键即可。
答:错问:投资风险,是企业在将筹集的资本确定其投向过程中所具有的不确定性。
该风险主要包括投资结构风险、投资项目风险和投资组合风险。
趣味数学题(带答案)

趣味数学题(一)1.8个数字“8”,如何使它等于1000?答案:8+8+8+88+8882.小强数学只差6分就及格,小明数学也只差6分就及格了,但小明和小强的分数不一样,为什么?答案:一个是54分,一个是0分3.一口井7米深,有只蜗牛从井底往上爬,白天爬3米,晚上往下坠2米。
问蜗牛几天能从井里爬出来?答案:5天4.某人花19快钱买了个玩具,20快钱卖出去。
他觉得不划算,又花21快钱买进,22快钱卖出去。
请问它赚了多少钱?答案:2元5.100个包子,100个人吃,1个大人吃3个,3个小孩吃1个,多少个大人和多少小孩刚好能吃完?答案:25个大人,75个小孩6.小王去网吧开会员卡,开卡要20元,小王没找到零钱,就给了网管一张50的,网管找回30元给小王后,小王找到20元零的,给网管20元后,网管把先前的50元还给了他,请问谁亏了?答案:网管亏了30元7.每隔1分钟放1炮,10分钟共放多少炮?答案:11炮8.一个数去掉首位是13,去掉末位是40.请问这个数是几?答案:439. 1根2米长的绳子将1只小狗拴在树干上,小狗虽贪婪地看着地上离它2.1米远的1根骨头,却够不着,请问,小狗该用什么方法来抓骨头呢?答案:转过身用后腿抓10.烟鬼甲每天抽50支烟,烟鬼乙每天抽10支烟。
5年后,烟鬼乙抽的烟比烟鬼甲抽的还多,为什么?答案:烟鬼甲抽得太多了早死了11.一个数若去掉前面的第一个数字是11,去掉最后一个数字为50,原数是多少?答案:5112.有一种细菌,经过1分钟,分裂成2个,再过1分钟,又发生分裂,变成4个。
这样,把一个细菌放在瓶子里到充满为止,用了1个小时。
如果一开始时,将2个这种细菌放入瓶子里,那么,到充满瓶子需要多长时间?答案:59分钟13.往一个篮子里放鸡蛋,假定篮子里的鸡蛋数目每分钟增加1倍,这样,12分钟后,篮子满了。
那么,请问在什么时候是半篮子鸡蛋?答案:11分钟14.有100个捧球队比赛,选冠军,最少要赛多少场?答案:要赛99场15.用三个3组成一个最大的数?答案:3的33次方16.小明带100元去买一件75元的衬衫,但老板却只找了5块钱给他,为什么?答案:小明就只给了老板80元钱17.刚上幼儿园第一天的Rose,从来没学过数学,但老师却称赞她的数学程度是数一数二的,为什么?答案:他只会数一数二的。
趣味数学题(带答案)

趣味数学题(带答案)趣味数学题(带答案)1. 问题描述在一个花园里,有一只聪明的猴子喜欢玩数学游戏。
它每次会在一堆水果中选择一定数量的苹果、香蕉和橙子,然后将它们按照一定的规则分配给三个小猴子。
这个规则是:猴子 A 会得到总数为苹果个数加上香蕉个数减去橙子个数的水果;猴子 B 会得到总数为苹果个数减去香蕉个数加上橙子个数的水果;猴子 C 会得到总数为苹果个数加上香蕉个数加上橙子个数的水果。
现在有一个包含苹果、香蕉和橙子的水果堆,猴子想要将它们按照规则平分给三只小猴子。
请问,是否存在这样一种水果分配方案,使得三只小猴子获得的水果数量完全相等?如果存在,请给出一个分配方案;如果不存在,请解释原因。
2. 解题思路假设苹果个数为 a 个,香蕉个数为 b 个,橙子个数为 c 个。
根据题目描述的规则,猴子 A 获得的水果数量为 a + b - c,猴子 B 获得的水果数量为 a - b + c,猴子 C 获得的水果数量为 a + b + c。
要使得三只猴子获得的水果数量相等,即需要满足以下条件:a +b -c = a - b + c = a + b + c通过整理等式,可以得到以下关系:2c = 2bb = c即若想要满足水果分配的相等条件,香蕉和橙子的数量必须相等。
接下来,我们需要考虑苹果的数量对水果分配是否有影响。
假设苹果的数量为a0,那么根据题目规则,每只猴子获得的水果数量分别为:猴子 A: a0 + b - c猴子 B: a0 - b + c猴子 C: a0 + b + c为了满足三只猴子获得的水果数量相等,需要满足以下条件:a0 + b - c = a0 - b + c = a0 + b + c同样通过整理等式,可以得到以下关系:2c = -2bc = -b结合之前的结论 b = c,可以得到:b =c = -bb =c = 0由此可知,无论苹果的数量是多少,只要香蕉和橙子的数量为 0,就可以满足三只猴子获得的水果数量相等。
幼儿园快乐学堂:趣味数学游戏与竞赛活动方案

【幼儿园快乐学堂:趣味数学游戏与竞赛活动方案】在幼儿园教育中,趣味数学游戏与竞赛活动是一种非常有效的教学方式。
通过这些活动,幼儿可以在愉快轻松的氛围中学习数学知识,培养数学兴趣,提高数学综合素质。
在这篇文章中,我们将探讨幼儿园快乐学堂中的趣味数学游戏与竞赛活动方案,帮助家长和老师更好地引导孩子学习数学。
一、趣味数学游戏活动1. 数学小游戏在幼儿园里,可以设计一些数学小游戏,如数学接力、数学拼图等,让孩子们在游戏中学习,提高他们的数学逻辑能力和团队合作意识。
2. 数学角色扮演通过角色扮演的方式,让孩子们扮演数学小老师、数学探险家等角色,参与到各种数学活动中,激发他们对数学的兴趣。
3. 数学实验室在幼儿园里建立一个小型的数学实验室,配备简单的数学工具和玩具,让孩子们在玩耍中学习数学知识。
二、竞赛活动方案1. 数学知识竞赛组织一些简单有趣的数学知识竞赛,设置奖励制度,激发孩子们学习数学的积极性。
2. 数学趣味竞赛设计一些趣味性十足的数学竞赛活动,如数学趣味运动会、数学趣味智力挑战赛等,让孩子们在活动中享受数学的乐趣。
3. 数学建模大赛以团队合作的方式,组织数学建模大赛,让孩子们在实际问题中运用数学知识,培养他们的创新思维和解决问题的能力。
通过以上方案,幼儿园快乐学堂可以为孩子们提供一个快乐、积极的学习环境,让他们在趣味数学游戏与竞赛活动中享受学习的乐趣,培养数学思维,为以后的学习打下坚实的基础。
在数学教育中,我们应该注重培养孩子们对数学的兴趣和热爱,让他们在快乐学习中掌握数学知识,提高数学能力。
也要注重引导和关注每个孩子的学习情况,让每个孩子都能在活动中感受到成功的喜悦,树立对数学学习的自信心。
幼儿园快乐学堂中的趣味数学游戏与竞赛活动方案,旨在通过趣味性的活动培养孩子们对数学的兴趣和热爱,提高他们的数学综合素质。
希望通过这些活动,每一位幼儿都能在快乐中学会数学,享受数学。
幼儿园快乐学堂的趣味数学游戏与竞赛活动方案一直备受家长和孩子们的喜爱。
初中趣味数学100题目和解答

初中趣味数学100题目和解答
1. 一个圆的面积是多少?
答:一个圆的面积等于π乘以半径的平方,即S=πr²。
2. 两个正整数的最大公约数是多少?
答:两个正整数的最大公约数是它们的公因数中最大的那个数。
例如,12和18的最大公约数是6。
3. 三角形的面积是多少?
答:三角形的面积等于底边乘以高,再除以2,即S=bh/2。
4. 一个正方形的面积是多少?
答:一个正方形的面积等于边长的平方,即S=a²。
5. 一个矩形的面积是多少?
答:一个矩形的面积等于长乘以宽,即S=lw。
6. 一个圆的周长是多少?
答:一个圆的周长等于2π乘以半径,即C=2πr。
7. 一个正方形的周长是多少?
答:一个正方形的周长等于4乘以边长,即C=4a。
8. 一个矩形的周长是多少?
答:一个矩形的周长等于2乘以长加上2乘以宽,即C=2l+2w。
9. 三角形的周长是多少?
答:三角形的周长等于三条边的总和,即C=a+b+c。
10. 两个正整数的最小公倍数是多少?
答:两个正整数的最小公倍数是它们的公倍数中最小的那个数。
例如,12和18的最小公倍数是36。
以上就是初中趣味数学100题目和解答的简要介绍。
数学是一门有趣的学科,
它不仅可以帮助我们更好地理解世界,而且还可以帮助我们更好地思考问题。
在学习数学的过程中,我们可以学习如何解决问题,如何分析问题,以及如何把握数学的规律。
通过学习数学,我们可以更好地掌握知识,提高思维能力,培养创新能力,提高解决问题的能力,从而更好地应对未来的挑战。
趣味数学题及答案

趣味数学题及答案题目一:魔术方阵魔术方阵是一个有趣而神奇的数学问题。
下面是一个3阶方阵:8 1 63 5 74 9 2要求:在这个3阶方阵中,每个行的数字之和,每个列的数字之和,以及对角线的数字之和均相等。
答案: - 每行的数字之和:8+1+6 = 3+5+7 = 4+9+2 = 15 - 每列的数字之和:8+3+4 = 1+5+9 = 6+7+2 = 15 - 对角线的数字之和:8+5+2 = 6+5+4 = 15因此,这个方阵是一个魔术方阵。
题目二:数塔问题在数塔问题中,我们需要找出从塔顶到塔底的一条路径,使得路径上的数字之和最大。
以下是一个数塔的示例:912 1510 6 82 18 9 519 7 10 4 16要求:找出从塔顶到塔底的一条路径,使得路径上的数字之和最大,并求出最大和。
答案:首先,我们从最底层往上计算每个位置能够达到的最大和。
然后,根据这个最大和计算上一层的最大和。
最后,塔顶的数字即为最大和。
计算过程如下: - 倒数第二层: 2+max(19,7)=2+19=21 - 倒数第三层:10+max(2,18)=10+18=28 - 倒数第四层: 6+max(28,9)=6+28=34 - 倒数第五层:15+max(21,34)=15+34=49 - 塔顶: 9+max(49,12)=9+49=58因此,路径上的数字之和最大为58。
题目三:数学的小游戏以下是一个数学小游戏的题目:几个小朋友围在一起做数学游戏。
游戏规则是,每个人依次报一个数字,从1开始,每个人的数字顺序加一。
当一个人的数字是3的倍数或包含数字3时,他需要说“Fizz”代替数字。
如果一个人同时满足两个条件,则说“Fizz Fizz”,同时满足三个条件则说“Fizz Fizz Fizz”。
例如,第一个人说1,第二个人说2,第三个人需要说“Fizz”,第四个人说4,第五个人需要说“Fizz”。
问题:现在轮到你报数,你需要说出第150个数字是什么?答案:我们可以使用循环来解决这个问题。
趣味数学

趣味数学(一)———第二课堂常艳红一、趣味问题:1.桌子上还剩几根烛?桌子上原来有12支点燃的蜡烛,先被风吹灭了3根,不久又一阵风吹灭了2根,最后桌子上还剩几根蜡烛呢?2.巧排队列24个人排成6列,要求5个人为一列,你知道应该怎样来排列吗?3.损失了多少?狐狸用50元的假钞买走了老山羊店里一件45元的皮衣,老山羊还找给狐狸5元钱,那么你知道老山羊损失了多少元钱吗?4、猜一猜照片上有几个人?我认识一个小朋友叫小龙,特别爱学习,总爱让我给他出题,这天他又来找我出题了,我就对他说:我们家有一张照片,上面有两个爸爸,两个儿子,你能猜出来照片上至少有几个人吗?小龙马上就猜出来了。
你猜出来了吗?5、鸡蛋的数量往一个篮子里放鸡蛋,假定篮子里的鸡蛋数目每分钟增加1倍,这样下去,12分钟后,篮子满了。
那么,你知道在什么时候是半篮子鸡蛋吗?6、车上的乘客一辆公共汽车上有54名乘客,从起点站开出,到达第一站时,有8人下车,2人上车;到第二站时,有9人下车,3人上车;到第三站时,有5人下车,3人上车。
你知道这个时候车上还有多少乘客吗?7、买书有一本书,兄弟两个都想买。
哥哥缺5元,弟弟只缺一分。
但是两人合买一本,钱仍然不够。
你知道这本书的价格吗?他们又各有多少钱呢?8、小猫到底钓了多少条鱼?小猫去河边钓鱼,回来的路上,遇到小白兔,小白兔问小猫钓了多少条鱼。
小猫说:“今天运气不好,只钓到6条无头鱼,9条无尾鱼,还有8条半截鱼。
”小猫到底钓了多少条鱼呢?你猜到了吗?9、青蛙蹦几次就可以跳出井口了?坐井观天的那只青蛙一天突然心血来潮,想到外面的世界去看看,井深九尺,青蛙一次只能蹦三尺高,如果这样青蛙要蹦几次才能跳出井口呢?10、猜一猜有多少名运动员?小丽前不久刚参加了一次游泳比赛,集会那天,她和参加比赛的所有运动员都亲切地握了一次手,表示友谊。
小丽记得当时一共握了五十次手,那么你知道参加这次比赛的运动员一共有多少名吗?11、你能算出来小朋友吃烧饼所需要的时间吗?小朋友们在一起吃早餐,每桌坐五个小朋友。
五年级下册数学书的书籍和书名

五年级下册数学书的书籍和书名在五年级下册数学课本中,我们将深入学习许多重要的数学概念和技能,这将为我们未来的学习打下坚实的基础。
在本文中,我将为大家介绍一些重要的数学书籍和书名,这些书籍将帮助我们更好地理解和掌握数学知识。
第一,我想推荐的是《数学世界》。
这本书通过丰富的故事情节和生动的插图,引导我们了解数学世界中的奥秘和趣味。
在书中,作者将各种数学概念融入到有趣的故事中,让我们在阅读中不知不觉地掌握了许多数学知识。
我想推荐的是《趣味数学》。
这本书从数学的角度出发,通过生动有趣的例子和实践操作,帮助我们更好地理解数学知识,并且培养我们的数学思维能力。
在书中,我们将会看到许多有趣的数学游戏和趣味的数学题目,这些将帮助我们更好地掌握数学知识。
另外,我还想推荐的是《数学实践指南》。
这本书将数学知识与日常生活结合起来,通过实际的例子和案例,让我们更好地理解数学知识在实际生活中的应用。
在书中,我们将会看到许多实际问题的解决方法和数学知识的应用技巧,这些将帮助我们更好地理解和掌握数学知识。
五年级下册数学课本中的书籍和书名有《数学世界》、《趣味数学》和《数学实践指南》等。
这些书籍将帮助我们更好地理解和掌握数学知识,为我们的学习打下坚实的基础。
希望我们能认真阅读这些书籍,更好地掌握数学知识,为未来的学习打下坚实的基础。
以上是我的个人观点和理解,希望能给大家带来一些帮助。
祝大家学习进步,取得更好的成绩!五年级下册数学书籍是孩子们学习数学知识的重要工具。
在这本书中,我们将学习许多数学的重要概念和技能,比如小数的加减乘除,图形的识别和计算,分数的运算,以及整数、几何和统计等知识。
通过这些书籍的学习,我们将更加深入地理解数学知识,并且提高自己的数学思维能力和解决问题的能力。
《数学世界》是一本生动有趣的数学读物,通过各种故事情节和插图引导我们了解数学世界中的奥秘和趣味。
作者在书中巧妙地将数学概念融入到有趣的故事中,让我们在阅读中轻松地掌握了许多数学知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
趣味数学和C引子有些人认为自己已经厌倦了数学,因为人们需要灵活的大脑才能领会一些数学问题。
但对于每个人来说,并不是数学的每个领域都是那么麻烦和令人厌倦的,即使对数学基础不好的人也是如此。
数学的其中一个领域――数论,对数学学的不多的普通人来说,也许会有很大的吸引力。
数论是研究整数性质的一个学科,这也许是数学中的最古老的学科,它被具有“数学王子”之称的数学家高斯称为“数学中的女王”,因为很多数学领域都是为了解决数论上的问题而出现的。
实际上,学习数论并不需要有专业的数学基础。
你可能会对数学的各个领域都比较了解,如果那样的话,你会发现数论的精彩。
数论被认为是“纯粹的数学”,因为在过去的日子里,人们无法将数论应用在除数学之外的其它领域。
但是在现在的实际生活中,我们可以看到对数论的很多应用,比如密码的编解码、随机数产生器、错误检查、信息安全等领域,我们都可以看到数论的影子。
直至今日,数论仍然是一门令人着迷的数学,因为在这个领域中有很多未解之迷等待着人们的解决。
或许,即使随着数学理论研究的发展和相关技术的进步,人们也无法找到这些未解之迷的答案。
对数论的所有研究都是为了漂亮地证明各种数学问题,或者通过已知的基本定理解决更加复杂的问题。
有意思的是,即使在数论上你未能证明一个命题是正确的,你仍然可以在实际生活中去应用它。
举个例子,大家所熟知的RSA加密算法就是基于一个假设:如果一个数是两个以上的大素数的乘积,那么我们很难将这个大数分解。
详细内容现在我们要用一个简单的方法来讨论数论。
这是关于一个有趣的问题――克拉兹问题(Collatz problem)的一番讨论,在这其中我们会用到很多种编程技术。
克拉兹问题的特殊之处在于――尽管我们很容易将这个问题讲清楚,但直到今天我们仍不能保证这个问题的算法对所有可能的输入都管用。
这个问题也被叫做hailstone问题、3n+1问题、Hasse算法问题、Kakutani算法问题、Thwaites猜想或者Ulam问题。
这个问题是由L. Collatz在1937年提出的。
一句话,这是一个非常简单的问题。
取一个数(译者注:严格地说,这个数是正整数)作为输入,如果这个数是偶数,就将它除以2,否则就将它乘以3后再加1。
(译者注:这是一个数列计算问题,用数学的语言就是,如果Xn是这个数列的第n项,而且Xn为偶数,那么这个数列的第n+1项Xn+1=(Xn)/2,如果Xn为奇数,则Xn+1=3(Xn)+1,其中n为不小于0的整数,数列的第一项X0可以取任意正整数)。
这个猜想的命题是:无论你取哪一个(正整)数作为输入,然后求这个数列后面的项,总会有某些项等于1(译者注:确切的说无论取哪一个正整数,总能使这个数列达成1-4-2的循环,即数列中有一项等于1之后,下一项就是4,然后下一项是2,然后又是1、4、2、……。
当然在本文中,作者并没有打算讨论那么多)。
时至今日,仍然没有人能证明这个命题是正确的,尽管现在通过计算机,已经用大量的数据检查了这个命题,所有的这些数据都通过了这个命题的测试。
而这个命题的证明对人们来说确实是一个挑战,而如果有人能证明这个问题,那么他无疑将会受到整个数学界的青睐。
如果将正整数n作为数列的第一个元素,那么这个数列的元素总能达到1,而数列中元素的个数就是这个数列的周期。
比如你输入5的话,那么就有如下的序列:5 16 8 4 2 1那么这个数列的周期是6。
这个序列被称为hailstone序列(或3n+1序列)。
用来产生这个数列的算法是非常简单的:算法A (产生3n+1序列的算法)A1. [输入n]A2. [算法结束条件] If n = 1 then exitA3. [检查n] If n is even then n := n / 2 else n := n * 3 + 1A4. [得出序列中的下一个元素后] Go to A2.很好,现在就开始实现这个算法吧。
在这里,我尝试着用多种编程方式来实现这个算法,以便使整个过程显得有趣。
使用无结构编程的方法这也许是在计算机上最基础的编程方法了,因为不需要定义过程(译者注:除了main之外)或是其它的什么东西。
使用这种方式的问题是,在对代码的管理和重用方面会有所困难,因为用这种方法编出来的程序没有抽象层,因此如果使用这种方法来进行大规模编程会是十分困难的。
#include <iostream>using std::cout;using std::endl;int main(int argc, char* argv[]){int iCount = 1;int iNo = 22;int iTemp = iNo;while (iTemp != 1){// 如果是偶数if (iTemp % 2 == 0){iTemp /= 2;}// 如果是奇数else{iTemp = iTemp * 3 + 1;}++iCount;}cout << "Cycle length of " << iNo << " is " << iCount << endl;return 0;}使用结构化编程的方法将程序分为小的模块(函数),会使代码比无结构的程序代码更易于管理和重用。
在逻辑上,程序中的一个函数会完成算法中的一部分工作,但这种单元划分可以有很强的主观性。
这种编程方法可以将问题进行抽象分层,以便于将一个复杂的问题分为一些较小的部分,然后一一解决。
#include <iostream>using std::cout;using std::endl;int NextTerm(int iNo) {// 如果是偶数if (iNo % 2 == 0){iNo /= 2;}// 如果是奇数else{iNo = iNo * 3 + 1;}return iNo;}int CalculateCycle(int iNo) {int iCount = 1;while (iNo != 1){iNo = NextTerm(iNo);++iCount;}return iCount;}int main(int argc, char* argv[]){const int iNo = 22;cout << "Cycle length of " << iNo << " is " << CalculateCycle(iNo) << endl;return 0;}使用递归的方法你知道什么是GNU吗?GNU就是“GNU‘s Not Unix”,这不是很奇怪吗?这个名称的首字母就是这个名称本身的缩写,如果你将GNU这个名称展开,那么GNU这个词又会出现在展开后的名称中(比如:GNU‘s Not Unix ‘s Not Unix)。
这只是递归的一个简单例子。
换句话说,一个典型的定义是:递归是通过重复扩展自身的方法来描述一件事物的方法。
对编程语言来说,递归就是一个函数调用它自己。
使用递归的典型例子是求阶乘、求Fibonacci问题、汉诺(Hanoi)塔问题等等。
#include <iostream>using std::cout;using std::endl;int CalculateCycle(int iNo, int iCount){++iCount;if (iNo == 1){return iCount;}else{if (iNo % 2 == 0){iNo /= 2;iCount = CalculateCycle(iNo, iCount);}else{iNo = iNo * 3+ 1;iCount = CalculateCycle(iNo, iCount);}}return iCount;}int main(int argc, char* argv[]){const int iNo = 22;cout << "Cycle length of " << iNo << " is = "<< CalculateCycle(iNo, 0) << endl;return 0;}使用面向对象编程的方法面向对象编程是一种编程方法,在这种方法中,你可以建立类并且建立这些类的实例,我们也可以称这些实例为“对象”。
在技术上,“类”是在一个整体中定义变量和方法的原型。
这个问题很小,你并不能通过这个问题看到面向对象编程所有的特点。
下面这个程序并不是面向对象的,而是采用基于对象的技术。
#include <iostream>using std::cout;using std::endl;class Collatz{private:int m_iCycle;int m_iNo;int NextTerm(int p_iNo);public:Collatz(int p_iNo = 0);void CalculateCycle();int GetCycle() const;};Collatz::Collatz(int p_iNo) : m_iNo(p_iNo), m_iCycle(1) {if (m_iNo < 1)throw std::out_of_range("No should be greater than 0"); }int Collatz::NextTerm(int p_iNo){// 如果是偶数if (p_iNo % 2 == 0){p_iNo /= 2;}// 如果是奇数else{p_iNo = p_iNo * 3 + 1;}return p_iNo;}void Collatz::CalculateCycle() {while (m_iNo != 1){m_iNo = NextTerm(m_iNo);++m_iCycle;}}int Collatz::GetCycle() const {return m_iCycle;}int main(int argc, char* argv[]) {const int iNo = 22;try{Collatz objCollatz(iNo);objCollatz.CalculateCycle();cout << "Cycle length of " << iNo << " is "<< objCollatz.GetCycle() << endl;}catch(std::out_of_range& ex){cout << ex.what() << endl;}return 0;}使用泛型编程的方法“泛型的(Generic)”就是“概括的”、“通用的”。