资源描述:
《基础代码汇总整理.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《基础代码汇总整理》WQ@YCOI十进制转换K进制functiondectok(x,k:longint):string;constalph='ABCDEFGHIJKLMNOPQRSTUVWXYZ';varst:string;beginst:='';whilex<>0dobeginst:=alph[xmodk+1]+st;x:=xdivk;end;exit(st);end;K进制转换十进制functionktodec(st:string;k:longint):longint;constalph='ABCDEF
2、GHIJKLMNOPQRSTUVWXYZ';vari,j,ans:longint;beginans:=0;j:=1;fori:=length(st)downto1dobegininc(ans,j*(pos(st[i],alph)-1));j:=j*k;end;exit(ans);end;欧几里得算法functiongcd(a,b:longint):longint;beginifb=0thenexit(a)elseexit(gcd(b,amodb));end;求最小公倍数functionlcm(a,b:lon
3、gint):longint;beginexit(adivgcd(a,b)*b);end;判断质数functionjudgeprime(x:longint);vari:longint;beginifx=1thenexit(false);fori:=2totrunc(sqrt(x))doifxmodi=0thenexit(false);exit(true);end;生成质数表proceduremakeprime;vari,j:longint;beginfillchar(f,sizeof(f),0);f[1]:=
4、true;fori:=2tondoif(notf[i])and(i<10000)thenbeginj:=i*i;whilej<=ndobeginf[j]:=true;inc(j,i);end;end;end;简单高精度运算系列procedurechange(st:string;varx:arrayoflongint);beginx[0]:=0;whilelength(st)>=4dobegininc(x[0]);val(copy(st,length(st)-3,4),x[x[0]]);delete(st,l
5、ength(st)-3,4);end;inc(x[0]);val(st,x[x[0]]);end;functioncompare(a,b:arrayoflongint):boolean;vari:longint;beginifa[0]>b[0]thenexit(true);ifa[0]b[i]thenexit(true)elseifa[i]
6、ocedurehighplus(a,b:arrayoflongint;varc:arrayoflongint);vari:longint;beginfillchar(c,sizeof(c),0);ifa[0]>b[0]thenc[0]:=a[0]elsec[0]:=b[0];fori:=1toc[0]doinc(c[i],a[i]+b[i]);fori:=1toc[0]doifc[i]>=10000thenbegindec(c[i],10000);inc(c[i+1]);end;whilec[c[0]+1]
7、>0doinc(c[0]);end;procedurehighminus(a,b:arrayoflongint;varc:arrayoflongint);vari:longint;beginfillchar(c,sizeof(c),0);c[0]:=a[0];fori:=1toc[0]doinc(c[i],a[i]-b[i]);fori:=1toc[0]doifc[i]<0thenbegininc(c[i],10000);dec(c[i+1]);end;while(c[0]<>1)and(c[c[0]]=0
8、)dodec(c[0]);end;procedurehighmulti(a,b:arrayoflongint;varc:arrayoflongint);vari,j:longint;beginfillchar(c,sizeof(c),0);c[0]:=a[0]+b[0]-1;fori:=1toa[0]doforj:=1tob[0]doinc(c[i+j-1],a[i]*b[j]);fori:=1toc[0]doi