- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
房屋拆迁偿还问题(数学建模论文)
西南交通大学峨眉校区2017年全国大学生数学建模竞赛第一次预选赛试题题目(A题 房屋拆迁偿还问题)姓名王杨学号2016117557专业电气工程联系电Q1142581599病人人数统计问题一家做人体机能康复治疗的医院刚开张。如果现在有个病人来就诊,则个月后还有在此治疗。假设这家医院第一个月初有300人来治疗,并且开张后不定期有病人来医院就诊,大概平均每月有10名新病人。试估算从现在开始到第15个月后在医院的病人人数有多少?解:设第t个月后医院人数为 第一个月初有300人,本题欲求第15个月后即时医院的人数所以则这300人第15个月后还剩下人。每月都会增加10名新病人,将新增病人函数连续化:即每月增加10人,设在个月后还留在医院的新增病人数为则个月后增加10人。设在t月后在医院的新增人数为,则个月后还留在医院的新增人数为人,选择[0,15]为积分区间,则15个月后还留在医院的新增人口为。=+247 最后还留在医院的人数有247人。寻找素数因1234567=127*9721是一个合数,现在请你寻找最靠近1234567的一个素数。要求给出寻找的策略算法、相应的程序及最终结果。一、策略算法:首先1234567为一个素数,即它除了1和它本身两个因子外还存在其他的因子,现在欲找到距离1234567最近的一个素数,我们应分两个方向去找,一个为大于1234567且距离它最近的素数,另一个为小于1234567且距离它最近的数,然后这两个数与1234567的差的绝对值再进行比较大小,绝对值越小意味着距离1234567越近。然后,欲想找到距离1234567最近的一个素数,我们可以用两层循环嵌套进行查找,外层循环实现从1234567开始数的增加或减少功能,内层循环实现判断这个数是否为素数,一旦找到第一个数便跳出外层循环,这个数即为某个方向上距离1234567最近的一个素数。本题需要从两个方向寻找距离1234567最近的素数,故用两个两层循环嵌套便可实现找到不同方向距离1234567最近的素数。最后,我们要判断一个数是否为素数,我们知道,素数是除了1和它本身两个因子外还存在其他因子的数。所以我们在内层循环设计时便利用给某位数取余的方法来判断,即某位数对从2开始到进行取模运算并与0进行比较。如果中间过程中取模运算得到0,即找到了该数的另一个因子,则可判断出该数为合数,故跳出内层循环,继续寻找。但这种方法运算量大,我们可以在判断素数方法上进行程序优化,数学证明,一个数n如果不能被2到n的平方根之间的数整除,则这个数就可以判定是素数。故取余运算可以从2开始到即可,这种优化方法大大减少了运算步骤,除此之外,我们还可以进行筛选法,首先判断n是否为2,3,5,7,11……等的倍数,若对这些数取余为0,便可直接跳出内层循环,继续查找。二、源程序:#includeiostream#includemath.husingnamespacestd;void main(void){longinti,j,x=0,y=0;for(i=1234567;i=9999999999;i++){for(j=2;jsqrt((double)i);j++)/*从2到进行取模运算并与0比较*/if(i%j==0) break; /*如果找到了其他的一个因数,便跳出内层循环,继续寻找*/if(j=sqrt((double)i)) /*如果次数大于等于,说明不存在其他因子,即找到了这个素数。*/{x=i;cout大于1234567的数中,距离其最近的素数为xendlendl; break; //找到一个素数便可跳出外层循环}}for(i=1234567;i=2;i--){for(j=2;jsqrt((double)i);j++)if(i%j==0) break;if(j=sqrt((double)i)) { y=i;cout小于1234567的数中,距离其最近的素数为yendlendl; break;}}if(x-12345671234567-y) //进行距离的判断cout距离1234567最近的素数为xendlendl;elseif(1234567-x==y-1234567)cout距离1234567最近的数有两个分别是y xendlendl;elsecout距离1234567最近的素数是yendlendl;}三、最终结果:运行程序可以从两个方向上找到距离1234567最近的素数为1234547和1234577,进行与1234567的差的绝对值运算比较后,可以得出1234577是最靠近1234567的一个素数。四程序运行图:房屋拆迁偿还问题摘要本文针对房地产公司在新建建筑面积补偿拆迁面积中利润最大化问题,引入0-1变量,将
文档评论(0)