自顶向下细化算法及流程图.pptVIP

  • 37
  • 0
  • 约2.95千字
  • 约 25页
  • 2017-11-14 发布于河南
  • 举报
自顶向下细化算法及流程图

算法设计及流程图;“自顶向下”的设计方法 ;理解问题: 例如,28的因子为1、2、4、7,14,而28=1+2+4+7+14。因此28是“完数”。 这里不是要质因数,所以找到因数后也无需将其从数据中“除掉”。 每个因数只记一次,如8的因数为1,2,4而不是1,2,2,2,4。(注:本题限定因数不包括这个数本身);流程图分析(1);流程图分析(2);for(i=1;i=n;i++){ } ;1)顶层算法 for(i=2;i=n;i++) { 判断i是否是“完数”; 是完数则按格式输出; };3)进一步细化——判断i是否“完数”算法 ;4)考虑输出格式——判断i是否“完数”算法 考虑到要按格式输出结果,应该开辟数组存储数据i的所有因子,并记录其因子的个数,因此算法细化如下: ;代码如下:; 作业;作业;算法复杂度分析示例;【例】求1/1!-1/3!+1/5!-1/7!+…+(-1)n+1/(2n-1)! 分析:此问题中既有累加又有累乘,准确地说累加的对象是累乘的结果。 数学模型1:Sn=Sn-1+(-1)n+1/(2n-1)! 算法设计1:多数初学者会直接利用题目中累加项通式,构造出循环体不变式为: S=S+(-1)n+1/(2n-1)! 需要用二重循环来完成算法,算法1如

文档评论(0)

1亿VIP精品文档

相关文档