李明明算法分析试验一.docVIP

  • 5
  • 0
  • 约5.99千字
  • 约 9页
  • 2017-08-14 发布于重庆
  • 举报
李明明算法分析试验一.doc

实验一 分治与递归(2学时) 基本题一:基本递归算法 一、实验目的与要求 熟悉C/C++语言的集成开发环境; 通过本实验加深对递归过程的理解 二、实验内容: 掌握递归算法的概念和基本思想,分析并掌握“整数划分”问题的递归算法。 三、实验题 任意输入一个整数,输出结果能够用递归方法实现整数的划分。 实验过程: #include iostream using namespace std; int a[100],t; void shuchu(int m,int i) { int j,sum=0; for(j=0;ji;j++)//作用是由于递归,所以判断是否递归退栈之后仍然满足划分条件 sum+=a[j]; if(sum==t)//原因同上l { for(j=0;ji;j++) couta[j]; coutendl; } } void f(int n,int m,int i) { if(n==0||m==0) shuchu(m,i); else if(mnn0) f(n,n,i); else { a[i]=m; //i++; f(n-m,m,i+1);//这个函数的作用是指包含最大值是m的那些组合,就是a[0]是m,然后剩下的n-m中,关于m再继续划分就可以,所以应该是在i+1的位子上进行 f(n,m-1,i); //这个函数的作用是不包含最大值m的组合,需要的就是将最大值是m

文档评论(0)

1亿VIP精品文档

相关文档