- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法分析与设计(李清勇)——分治
4-1 整数分解问题#include stdio.h#include math.h#define N 100intfenjie(int n);void main(){int n;int count;printf(input a number\n);do{scanf(%d,n);}while(n0);count=fenjie(n);printf(%d,count);}intfenjie(int n){inti;int k=0;int temp=0;int a[N];for(i=2;isqrt(n);i++){if(n%i==0){a[k]=i;k++;}}for(i=0;ik;i++){for(j=0;ik;i++){if(a[i]*a[j]==n)printf(%d=%d*%d\n,n,a[i],a[j]);temp++;}}return temp;}#includestdlib.h??#includemath.h??void?suanfa();??void?zdlch(int?b);??void?surt(int?k);?int?N;//全局变量?油井数?int?s[100];//n个油井y轴坐标??int?sumin;//输油管道最小长度void?main()?{???int?i;???sumin=0;???scanf(%d,N);???for(i=0;iN;i++)?{????scanf(%d,s[i]);????scanf(%d,s[i]);???}??suanfa();//调用关键算法函数???printf(%d\n,sumin);?}???void?suanfa()?{???if(N%2==0)//当油井数是偶数时???surt(N/2);??else????surt((N+1)/2);//油井是奇数时??}???void?surt(int?k)//从大到小第k个数是b调用suanfa(b)函数求出路程??{???int?j=0,b,l,m;???int?a=N;???int?i;???while(j!=k)?{?????b=s[0];????for(i=0;ia;i++)?{?????if(s[i]=b)?????{??b=s[i];??????l=i;?????}}??m=s[l];s[l]=s[a-1];s[a-1]=m;a--;j++;??}???zdlch(b);??}???Void?zdlch(int?b)??????//求最小长度的总和?????????????????????????????{????int?i;???for(i=0;iN;i++)????sumin=sumin+(int)fabs(b-s[i]);??}4-4 麦森书问题#include?cstdio#include?cstring#include?cmath#include?iostream#include?algorithmusing?namespace?std;int?f[505];//后500位数void?mul(int?a)//乘以a{????int?i,j,k,temp=0;????for(i=0;i500;i++){????????temp=temp+f[i]*a;????????f[i]=temp%10;????????temp=temp/10;????}}void?sub(int?x)//减x{????f[0]-=x;????int?k=0;????while(k500f[k]0){????????f[k]=f[k]+10;????????f[k+1]--;????????k++;????}}int?main(){????int?n;????while(scanf(%d,n)!= EOF){????????int?i,j,k;???????memset(f,0,sizeof(f));????????f[0]=1;????????//这里是分成2^10一段,那样就可以将乘法次数减少1/10????????//若还想更快,可以再分大点,比如2^20这样,不过最好不要超过int????????for(i=0;in/10;i++)mul(1024);????????for(i=0,k=1;in%10;i++)k=k*2;//分段后剩余的部分????????mul(k);????????sub(1);????????printf(%d\n,int(n*log(2)/log(10)+1));????????//输出????????for(i=0,k=499;i10;i++)?{????????????for(j=0;j50;j++){????????????????printf(%d,f[k]);??????????????
您可能关注的文档
- 2013-2014下学期高二级地理晚练十二(含答案).doc
- 第二章污染源监察.doc
- 第2章 造纸 工程分析.doc
- 大工13春《新能源发电》在线作业1,2,3.docx
- GIS支持下山区县域农村居民点分布特征研究_以栖霞市为例.pdf
- 基于GIS的浅丘区农村居民点空间分布特征分析_滕连泽.pdf
- 桂东县农村居民点用地布局初探.pdf
- 西咸新区沣西新城湖畔嘉园小区2.doc
- 近20年黄河三角洲典型地区农村居民点景观格局.pdf
- 高二同步辅导线性规划与园部分04-9-19.doc
- 抢分秘籍10 带电粒子电场中的直线运动、偏转和交变电电场中的应用(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(解析版) -2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍13 电磁感应中的动力学、能量和动量问题(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍16 振动图像与波动图像的综合应用(三大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍15 光的折射、全反射的综合应用(二大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
文档评论(0)