考试网 >> IT认证 >> 水平 >> 软件指导 >> 软考常用算法设计方法(一)

软考常用算法设计方法(一)

发布时间:2006-06-28 04:48     点击:
分页:上一页  1 2 3 4 5 [6] 7 8 9 10  下一页  后10页

   for ( i=1;i<=m;i++) b[i]=a[i];

   for ( j=1;j<=k;j++)

   { for ( carry=0,i=1;i<=m;i++)

   { r=(i   a[i]=r%10;

   carry=r/10;

   }

   if (carry) a[++m]=carry;

   }

   free(b);

   a[0]=m;

  }

  

  void write(int *a,int k)

  { int i;

   printf(“%4d!=”,k);

   for (i=a[0];i>0;i--)

   printf(“%d”,a[i]);

  printf(“\n\n”);

  }

  

  void main()

  { int a[MAXN],n,k;

   printf(“Enter the number n: “);

   scanf(“%d”,&n);

   a[0]=1;

   a[1]=1;

   write(a,1);

   for (k=2;k<=n;k++)

   { pnext(a,k);

   write(a,k);

   getchar();

   }

  }

  四、递归

   递归是设计和描述算法的一种有力的工具,由于它在复杂算法的描述中被经常采用,为此在进一步介绍其他算法设计方法之前先讨论它。

   能采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成规模较小的问题,然后从这些小问题的解方便地构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模较大问题的解。特别地,当规模N=1时,能直接得解。

  【问题】 编写计算斐波那契(Fibonacci)数列的第n项函数fib(n)。

   斐波那契数列为:0、1、1、2、3、……,即:

   fib(0)=0;

   fib(1)=1;
分页:上一页  1 2 3 4 5 [6] 7 8 9 10  下一页  后10页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有