算法试题代码实现

算法试题代码实现

ID:11833196

大小:491.50 KB

页数:15页

时间:2018-07-14

算法试题代码实现_第1页
算法试题代码实现_第2页
算法试题代码实现_第3页
算法试题代码实现_第4页
算法试题代码实现_第5页
资源描述:

《算法试题代码实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、小学手算的程序实现C++#includeusingnamespacestd;#defineN10intmain(){inti,j,set=0;chark[N];inta[N],b[N],c[2*N];for(i=0;i

2、求余运算,正整数对n求余的范围//肯定是在0~n-1之间,//也就是rand()%(b-a)的范围是0~b-a-1,然后加上a,也就是范围变成了a~b-1。//而rand()%90+10=rand()%(100-10)+10,自己算算看吧。cout<<"整数A:";for(i=N-1;i>=0;i--)cin>>a[i];cout<=0;i--)cin>>b[i];cout<

3、0;j=0;i--)cout<#include#includeusingnamespacestd;intn,x,y,result;//全局变量voidinput(){cout<<"两个乘数的位数是n,请输

4、入n的值(n是2的整数次幂):";cin>>n;cout<>x;cout<<"y=";cin>>y;}intcalculate(inta,intb)//计算数值函数--循环体{inttemp1,temp2;longs;intx1,x0,y1,y0;if(n>1)//可以分治算法的条件{temp1=(int)pow(10,n/2);temp2=(int)pow(10,n);x1=a/temp1;//x值的前半部分x0=a-x1*temp1;//x值的后半部分y1=b/temp1;//y值的前半

5、部分y0=b-y1*temp1;//y值的后半部分n=n/2;//经过一次分治后,数的位数减半s=calculate(x1,y1)*temp2+(calculate(x1+x0,y1+y0)-calculate(x1,y1)-calculate(x0,y0))*temp1+calculate(x0,y0); }elsereturna*b;returns;}voidprint()//输出函数{cout<<"乘数x="<

6、o{system("cls");//清屏函数input();result=calculate(x,y);print();cout<<"是否继续?(y/n)"<>c;}while(c=='y'

7、

8、'c'=='Y');}最大子段和蛮力法:include#include#defineN7inta[N]={-2,11,-4,13,-5,-2,8};//用蛮力法求最大子段和intManLiFa(int*a,intn){intbesti=-1;intbestj=-1;intsum=0;for(inti=1;i<=n;i++){

9、intthissum=0;for(intj=i;j<=n;j++){thissum+=a[j];if(thissum>sum){  sum=thissum;besti=i;bestj=j;} }}printf("起点="+besti);printf("终点="+bestj);returnsum;}intmain(){printf("蛮力法最大子段和:%d",ManLiFa(a,N));return0;   }最大子段和分治法:#include#include#include

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。