版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、递归进阶与习题讲解,问题背景,暴力N重循环生成长度为1的序列: for (int i=1;i=n;+i) cout i endl; 生成长度为2的序列: for (int i=1;i=n;+i) for (int j=1;j=n;+j) cout i j endl; 生成长度为n的序列:需要n重循环?,深度优先搜索入门,n重循环 void dfs(int deep) if (deep n) /check answer else for (i = 1; i = n; i+) dfs(deep + 1); ,搜索过程如下:,H,A,L,I,F,B,C,D,E,J,G,K,S,深度优先搜索示意图,例
2、题:放鸡蛋,想想,鸡蛋的篮子相当于什么? 然后如何让每个篮子的鸡蛋横向递增。 放鸡蛋的递归模型是什么?,不难看出放鸡蛋问题实质就是n重循环。第几个篮子就相当于第几层循环。然后是纵向搜索,再是横向遍历。同样道理,深搜也是n重循环的体现。,高精度算法,问题背景:当我们遇到的数字超过了unsigned long long时,要如何存储呢? 比如3200,高精度加法,void add(char s1,char s2,int a,int b,int c) int len1 = strlen(s1); int len2 = strlen(s2); for(int i = len1-1; i=0; i-)a
3、len1-1-i = (int)(s1i-0); for(int i = len2-1; i=0; i-)blen2-1-i = (int)(s2i-0); int tmp = max(len1,len2); for(int i = 0; i=10) ci%=10; ci+1+; ,高精度减法,void decrease(char* a,char* b) int len = strlen(a); int len2 = strlen(b); int tmp210 = 0; for(int i = 0; ilen; i+)reli = (int)(ai-0); for(int k = 0; kle
4、n2; k+)tmpk =(int) (bk-0); for(int i = 0; ilen; i+) reli = reli-tmpi; if(reli0) reli+=10; reli+1-; /printf(%d ,reli); ,高精度乘法,1.高精度*高精度 void multiply( char s1,char s2,int a, int b, int c) int len1 = strlen(s1); int len2 = strlen(s2); for(int i = 0; ilen1; i+) for(int j = 0; jlen2; j+) ci+j +=( ai*bj)
5、; for(int i = 0; ilen1+len2-1; i+) ci+1 += (ci/10); ci = ci%10; ,高精度乘法,高精度*单精度 void multiply(char s1,int a,int c) int len = strlen(s1); for(int i = len-1; i=0; i-) alen-1-i=(int)(s1i-0); for(int i = 0; ilen+4; i+) ci+=(ai*b); for(int i = 0; ilen+4; i+) ci+1+=(ci/10); ci%=10; ,高精度除法,方案一:不断作减法 也就是不多调用高精度的减法,知道做减法的次数与除数相同。,高精度除法,方案二:二分试探商(也是在减法基础上),#include #include #include using namespace std; int lenth(int n)/求数字长度(位数)函数 int i=0; while(n0) n/=10; i+; return i; int main() char a102; int b; cinab;/输入除数与被除数 /cout1 ,课
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山西省河曲实验中学2026年初三下学期冲刺(四)数学试题含解析
- 2026届江西省九江市九江有色金属冶炼厂职工子弟校初三4月模拟训练英语试题含解析
- 2026届广东省肇庆第四中学初三下学期期中调研英语试题含解析
- 2026年湖北省荆州松滋市重点中学初三第三次模拟考试英语试题试卷含解析
- 2026年青岛市重点达标名校初三下学期模拟(一)测试英语试题含解析
- 银行信贷守信声明书6篇
- 大学生就业准备与职业规划指导书
- 智能穿戴产品品控承诺书(5篇)
- 跨部门协作平台使用及培训教程
- 年度营销会议准备函(6篇范文)
- 肝损害课件教学课件
- 学堂在线 雨课堂 学堂云 海上求生与救生 章节测试答案
- 设计艺术硕士考研复习大纲
- 2026高考化学复习新题速递之化学反应速率与化学平衡(解答大题)(2025年7月)
- 港口国企面试常见问题及答案解析
- 2026届内蒙古准格尔旗中考数学模拟试题含解析
- 2025北京市体检人群抽样健康报告
- 体育跨学科培训:融合与创新
- 次氯酸钠安全评价报告1
- 2024-2025学年高一物理下学期期末复习:圆周运动(讲义)
- 济南市清源水务集团有限公司李庄水源地水源井及配套设备设施迁建工程环评资料环境影响
评论
0/150
提交评论