网站大量收购独家精品文档,联系QQ:2885784924

1 枚举的概念 - perfect future perfect future ようこそ.ppt

1 枚举的概念 - perfect future perfect future ようこそ.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 枚举的概念 - perfect future perfect future ようこそ

?教学要求 了解枚举算法的概念与枚举设计要领 应用枚举求解统计求和、整数搜索、解方程与不等式、数式、数组、数列与数阵等基本案例 ?本章重点 对某些枚举算法进行改进与优化 掌握枚举算法时间复杂度分析;2.1 枚举概述; 2. 枚举的框架描述; (2) 递增枚举  k=枚举起点 while(1)   { k++; 运算操作序列;    if(约束条件)    { printf(满足要求的解);    ?return;    }   }; 3. 枚举的实施步骤; 2.2 统计与求和; 求和的精度并不高,只要设置双精实变量s,w实施累加即可。 设置j(1——n)循环枚举和式的每一项,设s的当前项为t,其后一项显然为 t=t/10+0.1*d; 加权和w的每一项在t的基础上乘加权系数j,即累加t*j。;2. 枚举设计描述; 对于给定的同码小数的和: s(d,n)= 0.d+0.dd+0.ddd+…+0.dd…d w(d,n)= 0.d+2×0.dd+3×0.ddd+…+n×0.dd…d 输入正整数d(1≤d≤9),n(1≤n10000),试精确求和s(d,n)与w(d,n)。 同时统计:在s(d,n)与w(d,n)的n个小数位中,共有多少个小数位s与w对应位的数字相同?;(1) 枚举设计要点;(2) 枚举设计描述;2.2.2 三角网格 对指定正整数n,试求n-三角网格中所有不同三角形(大小不同或方位不同)的个数,以及所有这些三角形的面积之和。 重点: (1)分“正立”与“倒立”两类分别统计求和 (2)建立p数组简化求三角形面积之和的计算。 难点: 统计“倒立”三角形时,需对k分奇数与偶数两种情形分别总结规律并实施求和。; 2.3 整数搜索;2.3.2 基于s的双和数组;1. 枚举设计要点;2. 枚举设计描述; 2.4 解方程与不等式 ; 递增枚举设计要点: 对y从1开始递增1取值枚举,每一个y值计算a=n*y*y后判别:  若a+1不是平方数,则y增1后再试。 若a+1为某一整数x的平方,则(x,y)即为所求方程的解。因为y是从1开始递增的,所得解是方程的基本解。   对于某些非平方数n,方程的解位数大大超过计算机语言有效数字的范围,枚举不可能给出正确的解,因此算法中加了另一个结束算法的条件“x1000000000”(此结束条件可根据具体情形而定)。;2.4.2 分数不等式 案例提出: 试解以下关于正整数n的不等式      其中m为从键盘输入的正整数,式中符号为二个“+”号后一个“-”号,即分母能被3整除时符号为“-”。;(1) 设置条件循环,每三项一组累加求和:   s=s+1.0/k+1.0/(k+1)-1.0/(k+2); (k=1,4,…)   若累加到某一组时sm时退出循环,d=k+1, 可得区间解:n≥d.   因s(d+1)m,显然s(d)m;   而n=d+2时1.0/(n+3)为“+”,可得s(d+2)m;   以后各项中,“-”项小于其前面的“+”项,可知对于nd+2有s(n)m成立。 (2)在nd时是否有解,逐个求和检验确定离散解。 因而有必要回过头来,在n=1——d中一项项求和,得个别离散解。这一步不能省,否则出现遗解。;2. 枚举改进; 2.5 数式与运算;2.5.2 完美综合运算式 以下含乘方(a^b即为a的b次幂)、加、减、乘、除的综合运算式(1)的右边为一位非负整数f,请把数字0,1,2,...,9这10个数字中不同于数字 f 的 9个数字不重复地填入式(1)左边的9个□中,(约定数字“1”、“0”不出现在式左边的一位数中,且“0”不为首位),使得该综合运算式成立    □^□+□□÷□-□□□×□=f (1)  满足上述要求的式(1)称为完美综合运算式。  输入非负整数f(0≤f≤9),输出相应的综合运算式。; 尽管式中有a^b,可改进为整形处理,a^b用a自乘b次实现。  同时设置a,b,c,d,e循环,所有量设置在整数范围内枚举,式右数字f从键盘输入。  把运算式变形为z=(d*e+f-a^b)*c  对每一组f,a,b,c,d,e,按式(3)计算z。  检测z是否为二位数。若计算所得z非二位数,则返回。  然后分别对7个整数进行数字分离,设置g数组对7个整数分离的共10个数字进行统计,g(x)即为数字x(0—9)的个数。  若某一g(x)

文档评论(0)

yanpizhuang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档