六年级计算题解答

热门关键字:
当前位置:
2012年公务员行测:资料分析计算题解题方法
http://www.chinagwy.org &&&&&&&&&&&&来源:国家公务员网
  资料分析:计算题重要知识点及解题方法
  计算题是资料分析的重点题型之一,题目难度偏大,数据关系比较复杂,难以把握,对考生分析资料、提炼有效数据的能力要求比较高,而且在计算过程中涉及多个数据间的计算,可能导致计算结果和正确选项之间有偏差。因此,国家公务员网专家建议考生在复习计算题的过程中,要重点掌握常考查的计算型概念,同时注意运用计算技巧,从而提高解题速度和正确率。
  一、计算题常见考查方式
  1.直接考查“计算型概念”,如“比上年(某年)增长(减少)的量是多少”,“比上年(某年)增加(减少)了百分之多少”,“XX占XX的比重是多少”,“XX是XX的多少倍”等等;
  2.间接考查“计算型概念”,比如要先根据同比增长率求出上年量,再求倍数关系等。
  二、计算题的应对策略
  1.准确解读题干要求判断考查的是哪个具体概念,根据题干中的关键词定位题干涉及的数据。
  2.整合数据关系进行列式,观察列式和选项设置判断是否能够运用计算技巧解题,计算技巧包括首(尾)数法、取整法、分子分母比较法、分子分母差额法、范围限定法等,选择正确的计算技巧快速解题。
  3.注意避免误用计算技巧导致计算结果与正确选项偏差过大。
  2012年国家公务员考试复习用书可参考。
手机扫一扫加入公考提醒平台
微信名: 公务员考试报考提示
微信号: gwy999999
功能介绍: 公务员考试,报名,考试指导,相关提示信息您的位置: &
《个人理财》计算题题型及解题方法
[摘要]考拉网小编特整理了个人理财的计算题题型及解题方法,共各位考生备考使用。
& & 一、年金现值与终值的计算
  【例】A在10年内,每年年末可以收到10000元,每年的贴现率为8%。
  (1)请问这笔钱折合成现值是:(查询年金现值系数表)
  (2)请问这笔钱10年后的终值是:(查询年金终值系数表)
相关阅读:
看过本文的人还看了
1311人看过
2272人看过
责任编辑:erbu12009注册会计师考试《会计》真题及答案解析(计算题)
来源:91考试网
作者:www.91exam.org
  注册会计师考试历年真题是考生们备考时不可或缺的资料,通过对真题的专研,不仅能掌握每科的考试范围,还能掌握考试重点和出题思路,参考价值极大,以下是小编为考生们精心整理的2009年注册会计师考试《会计》科目真题及答案解析――计算分析题部分:2009年注册会计师全国统一考试《会计》科目试题及答案解析(计算分析题部分)本套试题的答案和解析部分由官方提供更多精彩内容请关注官方网站()、论坛()、微博(@@91考试网注册会计师)和微信()  三、计算分析题(本题型共4小题,其中第1小题可以选用中文或英文解答,如使用中文解答,最高得分为9分;如使用英文解答,该小题须全部使用英文,最高得分为14分。第2小题至第4小题每小题9分。本题型最高得分为41分,要求计算的,应列出计算过程。答案中的金额单位以万元表示,有小数的,保留两位小数,两位小数后四舍五入。在答题卷上解答,答在试题卷上无效。)  1.甲公司为一家电生产企业,主要生产A、B、C三种家电产品。甲公司20×8年度有关事项如下:  (1)甲公司管理层于20×8年11月制定了一项业务重组计划。该业务重组计划的主要内容如下:从20×9年1月1日起关闭C产品生产线;从事C产品生产的员工共计250人,除部门主管及技术骨干等50人留用转入其他部门外,其他200人都将被辞退。根据被辞退员工的职位、工作年限等因素,甲公司将一次性给予被辞退员工不同标准的补偿,补偿支出共计800万元;C产品生产线关闭之日,租用的厂房将被腾空,撤销租赁合同并将其移交给出租方,用于C产品生产的固定资产等将转移至甲公司自己的仓库。上述业务重组计划已于20×8年12月2日经甲公司董事会批准,并于12月3日对外公告。  20×8年12月31日,上述业务重组计划尚未实际实施,员工补偿及相关支出尚未支付。为了实施上述业务重组计划,甲公司预计发生以下支出或损失:因辞退员工将支付补偿款800万元;因撤销厂房租赁合同将支付违约金25万元;因将用于C产品生产的固定资产等转移至仓库将发生运输费3万元;因对留用员工进行培训将发生支出1万元;因推广新款B产品将发生广告费用2 500万元;因处置用于C产品生产的固定资产将发生减值损失150万元。  (2)20×8年12月15日,消费者因使用C产品造成财产损失向法院提起诉讼,要求甲公司赔偿损失560万元;12月31日,法院尚未对该案作出判决。在咨询法律顾问后,甲公司认为该案很可能败诉。根据专业人士的测算,甲公司的赔偿金额可能在450万元至550万元之间,而且上述区间内每个金额的可能性相同。  (3)20×8年12月25日,丙公司(为甲公司的子公司)向银行借款3 200万元,期限为3年。经董事会批准,甲公司为丙公司的上述银行借款提供全额担保。12月31日,丙公司经营状况良好,预计不存在还款困难。  要求:  (1)根据资料(1),判断哪些是与甲公司业务重组有关的直接支出,并计算因重组义务应确认的预计负债金额。  (2)根据资料(1),计算甲公司因业务重组计划而减少20×8年度利润总额的金额,并编制相关会计分录。  (3)根据资料(2)和(3),判断甲公司是否应当将与这些或有事项相关的义务确认为预计负债,如确认,计算预计负债的最佳估计数,并编制相关会计分录;如不确认,说明理由。  「答案」  (1)甲公司有关的直接支出有:①因辞退员工将支付补偿款800万元;②因撤销厂房租赁合同将支付违约金25万元;因重组义务确认的预计负债=25(万元)。  「依据」2009年教材P331表13-1与重组有关支出的判断表。  本题目中发生的因将用于C产品生产的固定资产等转移至仓库将发生运输费3万元、因对留用员工进行培训将发生支出1万元、因推广新款B产品将发生的广告费2500万元、因处置用于C产品生产的固定资产将发生减值损失150万元均不包括在重组有关的支出中。  (2)因重组计划而减少的20×8年度利润总额的金额=25+800+150=975(万元)  与重组义务有关的直接支出:借:营业外支出 25贷:预计负债 25借:管理费用 800贷:应付职工薪酬 800预计将发生减值损失150万元:借:资产减值损失 150贷:固定资产减值准备 150(3)资料(2)需要确认预计负债,预计负债的最佳估计数=(450+550)/2=500(万元)  借:营业外支出 500    贷:预计负债 500  资料(3)不需要确认预计负债,因其不符合预计负债确认条件,在被担保方无法履行合同的情况下需要承担连带责任,但本题目中的被担保对象丙公司并未出现无法履行合同的情况,因此担保企业未因担保义务承担潜在风险,所以不需要做确认预计负债的账务处理。  「提示」若本题目条件改为丙公司无法偿还债务的情况下,甲公司需要估计风险的可能性,根据情况来判断确认预计负债的金额。  2.甲公司为一物流企业,经营国内,国际货物运输业务。由于拥有的货轮出现了减值迹象。甲公司于20×8年12月31日对其进行减值测试,相关资料如下:  (1)甲公司以人民币为记账本位币,国内货物运输采用人民币结算,国际货物运输采用美元结算。  (2)货轮采用年限平均法计算折旧,预计使用20年,预计净残值为5%.20×8年12月31日,货轮的账面原价为人民币38 000万元,已计提折旧为人民币27 075万元,账面价值为人民币10 925万元,货轮已使用15年,尚可使用5年,甲公司拟继续经营使用货轮直至报废。  (3)甲公司将货轮专门用于国际货物运输。由于国际货物运输业务受宏观经济形势的影响较大,甲公司预计货轮未来5年产生的净现金流量(假定使用寿命结束时处置货轮产生的净现金流量为零,有关现金流量均发生在年末)如下表所示。年份业务好时(20%的可能性)业务一般时(60%的可能性)业务差时(20%的可能性)第1年500400200第2年480360150第3年450350120第4年480380150第5年480400180  (4)由于不存在活跃市场,甲公司无法可靠估计货轮的公允价值减去处置费用后的净额。  (5)在考虑了货币时间价值和货轮特定风险后,甲公司确定10%为人民币适用的折现率,确定12%为美元的折现率,相关复利现值系数如下:  (P/S ,10%,1)=0.9091;(P/S,12%,1)=0.8929  (P/S ,10%,2)=0.8264;(P/S,12%,2)=0.7972  (P/S ,10%,3)=0.7513;(P/S,12%,3)=0.7118  (P/S ,10%,4)=0.6830;(P/S,12%,4)=0.6355  (P/S ,10%,5)=0.6209;(P/S,12%,5)=0.5674  (6)20×8年12月31日的汇率为1美元=6.85元人民币。甲公司预测以后各年末的美元汇率如下:第1年末为1美元=6.80元人民币;第2年末为1美元=6.75元人民币;第3年末为1美元=6.70元人民币;第4年末为1美元=6.65元人民币;第5年末为1美元=6.60元人民币。  要求:  (1)使用期望现金流量法计算货轮未来5年每年的现金流量。  (2)计算货轮按照记账本位币表示的未来5年现金流量的现值,并确定其可收回金额。  (3)计算货轮应计提的减值准备,并编制相关会计分录。  (4)计算货轮20×9年应计提的折旧,并编制相关会计分录。  「答案」  (1)使用期望现金流量法计算货轮未来5年每年的现金流量。  第一年的现金流量=500×20%+400×60%+200×20%=380(万美元)  第二年的现金流量=480×20%+360×60%+150×20%=342(万美元)  第三年的现金流量=450×20%+350×60%+120×20%=324(万美元)  第四年的现金流量=480×20%+380×60%+150×20%=354(万美元)  第五年的现金流量=480×20%+400×60%+180×20%=372(万美元)  (2)计算货轮按照记账本位币表示的未来5年现金流量的现值,并确定其可收回金额。  按照记账本位币表示的未来5年现金流量的现值=380×6.85×0..85×0..85×0..85×0..85×0..46(万元)。  由于无法可靠估计货轮的公允价值减去处置费用后的净额,所以其可收回金额就是未来现金流量现值8 758.46万元。  (3)计算货轮应计提的减值准备,并编制相关会计分录。  货轮的账面价值是10 925万元,可回收金额是8 758.46万元,所以应该计提的减值金额是:10 925-8 758.46=2 166.54 (万元),分录是:借:资产减值损失 2 166.54贷:固定资产减值准备 2 166.54(4)计算货轮20×9年应计提的折旧,并编制相关会计分录。  因为使用寿命结束时处置货轮产生的净现金流量为零,所以净残值可以判断为零,20×9年应计提的折旧是:8 758.46/5=1 751.69(万元),分录是:借:主营业务成本 1 751.69贷:累计折旧 1 751.69  3.甲公司为上市公司,20×6年至20×8年 的有关资料如下:  (1)20×6年1月1日发行在外普通股股数为82 000万股。  (2)20×6年5月31日,经股东大会同意并经相关监管部门核准,甲公司以20×6年5月20日为股权登记日是,向全体股东每10股发放1.5份认股权证,共计发放12 300万份认股权证,每份认股权证可以在20×7年5月31日按照每股6元的价格认购1股甲公司普通股。  20×7年5月31日,认股权证持有人全部行权,甲公司收到认股权证持有人交纳的股款73 800万元。20×7年6月1日,甲公司办理完成工商变更登记,将注册资本变更为94 300万元。  (3)20×8年9月25日,经股东大会批准,甲公司以20×8年6月30日股份94 300万股为基数,向全体股东每10股派发2股股票股利。  (4)甲公司归属于普通股股东的净利润20×6年度为36 000万元,20×7年度为54 000万元,20×8年度为40 000万元。  (5)甲公司股票20×6年6月至20×6年12月平均市场价格为每股10元,20×7年1月至20×7年5月平均市场价格为每股12元。  本题假定不存在其他股份变动因素。  要求:  (1)计算甲公司20×6年度利润表中列示的基本每股收益和稀释每股收益。  (2)计算甲公司20×7年度利润表中列示的基本每股收益和稀释每股收益。  (3)计算甲公司20×8年度利润表中列示的基本每股收益和稀释每股收益以及经重新计算的比较数据。  「答案」  (1)20×6年度每股收益计算如下:20×6年发行在外普通股加权平均数=82000(万股);基本每股收益==0.44(元/股);20×6年调整增加的普通股股数=(×6/10)×7/12=2 870(万股)  稀释每股收益=3+2 870)=0.42(元/股)  (2)20×7年度每股收益计算如下:20×7年发行在外普通股加权平均数=×7/12=89 175(万股)  基本每股收益==0.61(元/股)  20×7年调整增加的普通股股数=(×6/10)×5/12=2 050(万股)  稀释每股收益=5+1+(元/股)  (3)20×8年度每股收益计算如下:20×8年发行在外普通股加权平均数=()×1.2=113 160(万股)  20×8年基本每股收益=0=0.35(元/股)  稀释每股收益=基本每股收益=0.35(元/股)  20×7年度发行在外普通股加权平均数=8+1×7/12=107 010(万股)  20×7年度基本每股收益=0=0.50(元/股)  20×7年调整增加的普通股股数=(1+2050)×1.2=11 070(万股)  20×7年度稀释每股收益=5×1.2+1(元/股)  4.为提高闲置资金的使用率,甲公司20×8年度进行了以下投资:  (1)1月1日,购入乙公司于当日归行且可上市交易的债券100万张,支付价款9 500万元,另支付手续费90.12万元。该债券期限为5年,每张面值为100元,票面年利率为6%,于每年12月31日支付当年度利息。甲公司有充裕的现金,管理层拟持有该债券至到期。  12月31日,甲公司收到20×8年度利息600万元。根据乙公司公开披露的信息,甲公司估计所持有乙公司债券的本金能够收回,未来年度每年能够自乙公司取得利息收入400万元。当日市场年利率为5%.  (2)4月10日是,购买丙公司首次发行的股票100万股,共支付价款800万元。甲公司取得丙公司股票后,对丙公司不具有控制,共同控制或重大影响,丙公司股票的限售期为1年,甲公司取得丙公司股标时没有将其直接指定为以公允价值计量且变动计入当期损益的金融资产,也没有随时出售丙公司股票的计划。  12月31日,丙公司股票公允价值为每股12元。  (3)5月15日是,从二级市场丁公司股票200万股,共支付价款920万元,取得丁公司股票时,丁公司已宣告发放现金股利,每10股派发现金股利0.6元。甲公司取得丁公司股票后,对丁公司不具有控制,共同控制或重大影响。甲公司管理层拟随时出售丁公司股票。  12月31日,丁公司股票公允价值为每股4.2元。  相关年金现金系数如下:  (P/A,5%,5)=4.3295;(P/A,6%,5)=4.2124;(P/A,7%,5)=4.1002;  (P/A,5%,4)=3.5460;(P/A,6%,4)=3.4651;(P/A,7%,4)=3.3875.  相关复利现值系数如下:  (P/S,5%,5)=0.7835;(P/S,6%,5)=0.7473;(P/S,7%,5)=0.7130;  (P/S,5%,4)=0.8227;(P/S,6%,4)=0.7921;(P/S,7%,4)=0.7629.  要求:  (1)判断甲公司取得乙公司债券时应划分的金融资产类别,说明理由,并编制甲公司取得乙公司债券时的会计分录。  (2)计算甲公司20×8年度因持有乙公司债券应确认的收益,并编制相关会计分录。  (3)判断甲公司持有乙公司债券20×8年12月31日是否应当计提减值准备,并说明理由。如庆计提减值准备,计算减值准备金额并编制相关会计分录。  (4)判断甲公司取得丙公司股票时应划分的金融资产类别,说明理由,并编制甲公司20×8年12月31日确认所持有丙公司股票公允价值变动的会计分录。  (5)判断甲公司取得丁公司股票时应划分的金融资产类别,说明理由,并计算甲公司20×8年度因持有丁公司股票确认的损益。  「答案」  (1)甲公司取得乙公司债券时应该划分为持有至到期投资,因为“管理层拟持有该债券至到期”。  甲公司取得乙公司债券时的账务处理是:借:持有至到期投资DD成本 (100*100) 10 000贷:银行存款 9 590.12持有至到期投资――利息调整 409.88(2)本题需要重新计算实际利率,计算过程如下:600*(P/A,r,5)+ 10 000*(P/S,r,5)=9590.12利率 现值6%  10 000.44 r   %  9590.12根据上面的结果可以看出r=7%甲公司20×8年度因持有乙公司债券应确认的收益= 9 590.12*7%= 671.31(万元)  相关的会计分录应该是:借:应收利息 (10 000*6%) 600持有至到期投资――利息调整 71.31贷:投资收益 671.31借:银行存款 600贷:应收利息 600(3)20×8年12月31日持有至到期投资的预计未来现金流量的现值=400*(P/A,7%,4)+10 000*(P/S,7%,4)=400*3.3872 + 10 000*0..88(万元) ,此时的摊余成本是9 590.12+71.31=9 661.43(万元)  因为9 661.43&8 983.88 ,所以发生了减值,计提的减值准备的金额=9 661.43-8 983.88 =677.55(万元),账务处理为:借:资产减值损失 677.55贷:持有至到期投资减值准备 677.55(4)甲公司取得丙公司股票时应该划分为可供出售金融资产,因为持有丙公司限售股权且对丙公司不具有控制、共同控制或重大影响,应当按金融工具确认和计量准则规定,将该限售股权划分为可供出售金融资产。相关的会计分录应该是:借:可供出售金融资产――公允价值变动 400(12*100-800)  贷:资本公积DD其他资本公积 400(5)甲公司取得丁公司股票时应该划分为交易性金融资产,因为“管理层拟随时出售丁公司股票”。  甲公司20×8年度因持有丁公司股票应确认的损益=4.2×200-920+200/10×0.6=-68(万元)。
Chance generally favours the prudent. 运气通常照顾深思熟虑者. I only regret that I have but one life to lose for my country. 我唯一遣憾的是我只有一次生命可以献给祖国.
网站客服QQ:博客访问: 928762
博文数量: 267
博客积分: 1305
博客等级: 军士长
技术积分: 4513
注册时间:
不懂的东西还有很多,随着不断的学习,不懂的东西更多,无法消灭更多不懂的东西,那就不断的充实自己吧。
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: C/C++
& & 今天看了《编程珠玑》的第一章,通过参考前辈的和自己编程,实现了“磁盘文件排序”的两种方法,现在记录下该章的课后习题,希望通过这个过程,可以让自己有所长进。
& & 如果不缺内存,如何使用一个具有库的语言来实现一种排序算法以表示和排序集合?
& & 首先,C++有实现排序的库函数:sort,该函数实现的是快速排序;另外,C++的容器map和set均可以实现排序,由于map和set的实现是红黑树,所以具有自动排序功能,当然,这个需要数据不能重复;
& & 下面为了复习下快速排序的实现,重新实现了一遍,代码如下所示。
int Partition(int *array, int left, int right)
&&&&int priot = array[left];&&&&//浠ョ?涓?涓?厓绱犱綔涓轰富鍏?
&&&&int first = left;
&&&&int last = right;
&&&&while(first < last)
&&&&&&&&while(first < last && array[last] >= priot)
&&&&&&&&&&&&last--;
&&&&&&&&Swap(&array[first], &array[last]);
&&&&&&&&while(first < last && array[first] <= priot)
&&&&&&&&&&&&first++;
&&&&&&&&Swap(&array[first], &array[last]);
&&&&return first;
void QuickSort(int *array, int first, int last)
&&&&if(array == NULL)
&&&&&&&&return;
&&&&if(first < last)
&&&&&&&&int priot = Partition(array, first, last);
&&&&&&&&QuickSort(array, first, priot - 1);
&&&&&&&&QuickSort(array, priot + 1, last);
& & 如何使用位逻辑(例如与、或、移位)来实现位向量?
& & 代码如下所示。
//如何使用位逻辑运算(例如与、或、移位)来实现位向量
/* Copyright (C) 1999 Lucent Technologies */
/* From 'Programming Pearls' by Jon Bentley */
/* bitsort.c -- bitmap sort from Column 1
* Sort distinct integers in the range [0..N-1]
* 排序在0到N-1范围内的无重复整数
#include <stdio.h>
#define BITSTEPWORD 32 &&&&//表示一个整型含有32个位
#define SHIFT
5&&&&&&&&//单次位移量
#define MASK 0x1F&&&&&&&&//掩码
#define NUM
&&&&//表示1000万个整数
int array[1 + NUM / BITSTEPWORD];//使用整型数组模拟定义1000万个位的数组
/*功能:设置位数组中的从0开始的第i位为1
&*参数:需要设置为1的位
void set(int i)
&&&&array[i >> SHIFT] |= (1 << (i & MASK));
&*功能:设置位数组中的从0开始的第i位为0
&*参数:需要设置为0的位
void clr(int i)
&&&&array[i >> SHIFT] &= ~(1 << (i & MASK));
&&*功能:取出从0开始的第i位的值,用于检测
void test(int i)
&&&&return array[i >> SHIFT] & (i << (i & MASK));
int main(void)
&&&&int i;
&&&&clear();
&&&&for( i = 0; i < 100; i++ )
&&&&&&&&set( i*2 );
&&&&for( i = 0; i < 200; i++ )
&&&&&&&&printf("%d",test(i) ? 1:0 );
&&&&puts("");
&&&&return 0;
& & 实现方法说明:
& & i >> SHIFT:将i向右移动5位,相当于将i除以32位。因为一个int是32位,所以结果表示i在第几个int数组成员中;
& & 举例说明:如果i是34,则结果是1,也就是从0开始的第1个int数组成员。
& & 1 << (i & MASK):使用掩码留下i的低5位再左移动1位,相当于除以32所得的余数再左移动1位。因为第一是0,所以结果都需要左移动1位。结果中1所在的位表示i在该int数组成员的第几位上。
& & 接着上例继续说明,如果i是34,则i & MASK是2,二进制表示是10,再向左移动1位,得到100,也就反映出此时从0开始的第2位是1。
& & 如何生成小于n且没有重复的k个整数的问题。最简单的方法是、就是使用前k个正整数。这个极端的数据集合将不明显的改变位图方法的运行时间,但是可能会歪曲系统排序的运行时间。如何生成位于0至n-1之间的k个不同的随机顺序的随机整数?
& & 实现方法一,代码如下所示。
int array[n + 1];
void make_data(int n)
&&&&if(n <= 0)
&&&&&&&&return;
&&&&for(int i = 0; i < n; i++)
&&&&&&&&array[i] = i + 1;
&&&&for(int i = 0; i < n; i++)
&&&&&&&&int ii = (rand() * RAND_MAX + rand()) % n;
&&&&&&&&int jj = (rand() * RAND_MAX + rand()) % n;
&&&&&&&&swap(array[ii], array[jj]);
& & 实现方法二,代码如下所示。
/* Copyright (C) 1999 Lucent Technologies */
/* From 'Programming Pearls' by Jon Bentley */
/* bitsortgen.c -- gen $1 distinct integers from U[0,$2) */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAXN 2000000
int x[MAXN];
int randint(int a, int b)
{&&&&return a + (RAND_MAX * rand() + rand()) % (b + 1 - a);
int main(int argc, char *argv[])
& &&int i, k, n, t, p;
&&&&srand((unsigned) time(NULL));
&&&&k = atoi(argv[1]);
&&&&n = atoi(argv[2]);
&&&&for (i = 0; i < n; i++)
&&&&&&&&x[i] = i;
&&&&for (i = 0; i < k; i++)&
&&&&&&&&p = randint(i, n-1);
&&&&&&&&t = x[p];&
& & & &&x[p] = x[i];&
& & & &&x[i] = t;
&&&&&&&&printf("%dn", x[i]);
&&&&return 0;
&&&&上述两种方法没有什么本质的不同,都是生成n个正整数,然后对其位置进行随机的交换。
& & 那个程序员说他又1MB的可用存储空间,但是我们概要描述的代码需要1.25MB的空间。他可用不费力气的索取到额外的空间。如果1MB空间是严格的边界,你会推荐如何处理呢?
& & 可用多路归并排序进行解决。
& & 例如:我们可以将输入文件分成两个部分,第一部分保存[1,5000000]之间的数,第二个文件保存[00000]的数字,然后分别进行排序,所用的内存就可以降到1MB以内。如果把文件分为k份(每份都保存一定区间的数),那么就可以再O(n)的时间内,n/k的空间内完成排序。
& & 如果那个程序员说的不是每个整数最多出现一次,而是每个整数最多出现10次,你又如何建议他呢?你的解决方案如何随着可用存储空间总量的变化而变化呢?
& & 如果每个整数最多出现10次,那么我们可以用4位(半个字节)来统计每个整数的出现次数。可以利用问题5中的方法,利用个字节的空间遍历一次来完成对整个文件的排序。当保存的数字量变化时,分成更多的份,就可以再更小的空间内完成,如k的空间内。
& & 当那个程序员解决该问题的时候,美国所有的免费电话的区号是800。现在免费电话的区号包括800、877和888,而且还在增多。如何在1MB空间内完成对所有这些免费电话的号码的排序?如何将免费电话号码存储在一个集合中,要求可以实现非常快速的查找以判定一个给定的免费电话号码是否可用或者已经存在?
& & 这个问题没有给出答案,网上有的答案是这样的:每个区号建立一个set,查找的时候效率是O(logn)。
& & 我想的是进行排序的时候,可以把800、877和899的区号分别提取出来,然后分别进行排序,最后在归并到一个结果文件中。
& & 不知道有没有更好的办法。
& & 使用更多的空间来换取更少的运行时间存在一个问题:初始化空间本身需要消耗大量的时间。说明如何设计一种技术,在第一次访问向量的项时将其初始化为0。你的方案应该使用常量时间进行初始化和向量访问,使用的额外空间应正比于向量的大小。因为该方法通过进一步增加空间减少初始化的时间,所以仅在空间很廉价、时间很宝贵且向量很稀疏的情况下才考虑。
& & 解决的方法是使用两个额外的向量:from和to,还有一个变量top。如果对i位置进行初始化,进行以下步骤:
& & from[i] =
& & to[top] =
& & data[i] = 0;
& & top++;
& & from[i] = top的目的是将i在to中的索引放入from中;
& & to[top] = i意思是这个top位置对应的是i,这时data就可以做相应的操作,然后top右移动。
& & 判断一个位置是否初始化过的条件是:from[i] < top && to[from[i]] == i,from[i] < top的意思是from[i]对应的to中的位置已经被处理过了,但是from[i]可能是随机值,也会小于top,这时候就需要第二个条件了,to[from[i]] == i的意思是:to[from[i]]所指向的位置就是i,这种方式确保了i位置是否被初始化过。
& & 《这个我得好好的理解理解,标记一下》
& & 在成本低廉的隔日送达时代之前,商店允许顾客通过电话订购商品,并在几天后上门自取。商店数据库使用客户的电话号码作为其检索的主关键字(客户知道他们的电话号码,并且这些关键字几乎都是唯一的)。你如何组织商店的数据库,以允许高效的插入和检索操作?
& & 根据电话号码的最后两位作为客户的哈希索引,进行分类,当顾客打电话下订单的时候,它被放置在一个合适的位置。然后当顾客抵达进行检索商品时,营业员按顺序检索订单,这是经典的解决哈希冲突的解决方法:通过顺序检索。电话号码的最后两位数字是相当随机的,而电话号码的前两位作为索引行不通,因为很多电话号码的前两位是相同的。
& & 飞鸽传书+网络传输(还有打印机),囧啊
& & 载人航天需要在外太空的极端环境下实现书写。民间盛传美国国家航天局花费100万美元研发了一种特殊的钢笔来解决这个问题。那么前苏联如何解决这个问题的?
&&&&&According to the urban legend, the Soviets solved their problem with a pencil(铅笔), of course. For background on the true story, learn about the Fisher Space Pen company. The company was founded in 1948, and its writing instruments have been used by the Russian Space Agency, underwater explorers, and Himalayan climbing expeditions.
& & 擦,用铅笔。
& & 参考:
& & 感谢!!
阅读(4571) | 评论(4) | 转发(3) |
相关热门文章
给主人留下些什么吧!~~
看了好久才看出问题来,第一个set函数的解释有问题,array[i&&&&SHIFT]&|=&(1&&&&(i&&&MASK));第一个起到分块的作用,第二个语句则是i对32取余后得到的数作为移动的位数。也就是移位移的是整数1,移动的位数是取余得到的数,比如整数38取余得6,对1移动六位才得到该置一的位,可能你就是这个意思,但你的表述是取余的结果左移一位,这是明显有问题的
注释做得很好,不过有处错误:/*&*功能:取出从0开始的第i位的值,用于检测*/void&test(int&i){&&&&return&array[i&&&&SHIFT]&&&(i&&&&(i&&&MASK));}应该修改为int&test(int&i){&&&&return&array[i&&&&SHIFT]&&&(i&&&&(1&&&MASK));}返回int类型,(i&&&MASK)修改为(1&&&MASK)。
:第八题可以给每个号码添加额外的2bit就可以解决了,因为一共就3个Toll-free.
嗯呢&谢谢您 |
第八题可以给每个号码添加额外的2bit就可以解决了,因为一共就3个Toll-free.
请登录后评论。

我要回帖

更多关于 计算题 的文章

 

随机推荐