基础代码总结

基础代码总结

ID:46685684

大小:65.50 KB

页数:8页

时间:2019-11-26

基础代码总结_第1页
基础代码总结_第2页
基础代码总结_第3页
基础代码总结_第4页
基础代码总结_第5页
资源描述:

《基础代码总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、高精运算:typedefstruct//为方便处理,用结构体{intlen;longnum[1024];}HNum;//万进制高精加法,注意输出高位补0,printf("%04d"...);voidHPIus(HNum&a,HNum&b,HNum&c){inti,len=a」en>b」en?a」en:b」en;memset(&c,0,sizeof(HNum));for(i=1;i<=len;i++){c.num[i]+=a.num[i]+b.num[i];if(c.num[i]>=BASE){c.num[i+1]+=c.num[i]/BASE;c.num[i]%=BASE;}}c」e

2、n=len;while(c.num[c.len+1]>0)c」en++;}//万进制高精乘法voidHMul(HNum&a,HNum&b,HNum&c){inti,j;memset(&c,0,sizeof(HNum));for(i=1;i<=a」en;i++)for(j=1;j<=b」en;j++){c.num[i+j-1]+=a.num[i]*b.num[j];//注意+号if(c.num[i+j-1]>=BASE){c.num[i+j]+=c.num[i+j-1]/BASE;//注意+号c.num[i+j-1]%=BASE;}}c」en=+b」en・1;while(c.num[c

3、.len+1]>0)//c.len++;}//万进制高精减法voidHSub(HNum&a,HNum&b,HNum&c){inti,len=a」en;//保证a>=bmemset(&c,0,sizeof(HNum));for(i=1;i<=len;i++){c.num[i]+=a.num[i]・b.num[i];//注意if(c.num[i]<0){c.num[i+1]・=1;〃注意■号c.num[i]+=BASE;}}c」en=len;while(c.len>0&&c.num[c.len]==0)c.len--;}//万进制高精减法,直接就longlong...Fibo[3]=3;

4、//Fibonacci,Fibo[i]=Fibo[i-1]+Fibo[i-2],//Catalan数列S[n]=C(2n,n)/(n+1)longCatalan(longn){longi,x,y;x=y=1;for(i=2;i<=n;i++)x*=i;for(i=n;iv=2兴n;i++)y*=i;returny/x/(n+1);}//最小公倍数longIcm(longa,longb){returna*b/gdc(a,b);}//最大公约数,辗转相除法longgdc(longa,longb)return(a%b==0)?b:gdc(b,a%b);//堆操作voidIn(HeapDTd

5、t)//进堆{inti;list[++len]=dt;i=len;while(i>1)//向上调整{if(list[i].wvlist[i/2].w)Swap(i,i/2);elsebreak;i/=2;}}HeapDTOut()//Hl堆{HeapDTret=list[1];Swap(1,len);//NOTE:最重要的一步,最后(最大)一个元素与第一个元素交换len--;//堆长度减1inti,pa=1;for(i=pa*2;i<=len;i*=2)//向下调整{if(ivlen&&list[i+1].w

6、)Swap(pa,i);elsebreak;pa=i;}returnret;}//二分查找,注意等号while(low>1;if(strcmp(spname,name[mid])<=0)high=mid;elselow=mid+1;//快排voidQSort(intlow,inthigh){intI,r;Milkcowp=cow[low];I=low,r=high;while(I=p.price)r・・;cow[I]=cow[r];while(I

7、price)I++;cow[r]=cow[I];}cow[I]=p;if(1-1>low)QSort(low,1-1);if(1+1

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

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

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