资源描述:
《acm小组内部预定函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中华信息学竞赛网www.100xinxi.comcomengACM小组内部预定函数目录:一、数学问题21.精度计算——大数阶乘22.精度计算——乘法(大数乘小数)23.精度计算——乘法(大数乘大数)34.精度计算——加法35.精度计算——减法46.任意进制转换47.最大公约数、最小公倍数58.组合序列59.快速傅立叶变换(FFT)510.Ronberg算法计算积分611.行列式计算712.求排列组合数813.求某一天星期几8二、字符串处理81.字符串替换82.字符串查找93.字符串截取94.LCS-最大公共子串长度95.LCS-最大公共子串长度
2、106.数字转换为字符10三、计算几何101.叉乘法求任意多边形面积102.求三角形面积113.两矢量间角度114.两点距离(2D、3D)115.射向法判断点是否在多边形内部126.判断点是否在线段上127.判断两线段是否相交138.判断线段与直线是否相交139.点到线段最短距离1410.求两直线的交点1411.判断一个封闭图形是凹集还是凸集1512.Graham扫描法寻找凸包1513.求两条线段的交点16四、数论161.x的二进制长度162.返回x的二进制表示中从低到高的第i位173.模取幂运算174.求解模线性方程175.求解模线性方程组(
3、中国余数定理)186.筛法素数产生器187.判断一个数是否素数188.求距阵最大和198.求一个数每一位相加之和1910.质因数分解2011.高斯消元法解线性方程组20五、图论201.Prim算法求最小生成树202.Dijkstra算法求单源最短路径213.Bellman-ford算法求单源最短路径224.Floyd-Warshall算法求每对节点间最短路径225.解欧拉图23六、排序/查找231.快速排序232.希尔排序243.选择法排序244.二分查找24七、数据结构251.顺序队列252.顺序栈263.链表284.链栈305.二叉树31八
4、、高精度运算专题321.专题函数说明322.高精度数比较333.高精度数加法334.高精度数减法335.高精度乘10346.高精度乘单精度347.高精度乘高精度348.高精度除单精度349.高精度除高精度35几何公式:36中华信息学竞赛网www.100xinxi.comcomeng一、数学问题1.精度计算——大数阶乘语法:intresult=factorial(intn);参数:n:n的阶乘返回值:阶乘结果的位数注意:本程序直接输出n!的结果,需要返回结果请保留longa[]需要math.h源程序:intfactorial(intn){long
5、a[10000];inti,j,l,c,m=0,w;a[0]=1;for(i=1;i<=n;i++){c=0;for(j=0;j<=m;j++){a[j]=a[j]*i+c;c=a[j]/10000;a[j]=a[j]%10000;}if(c>0){m++;a[m]=c;}}w=m*4+log10(a[m])+1;printf("%ld",a[m]);for(i=m-1;i>=0;i--)printf("%4.4ld",a[i]);returnw;}2.精度计算——乘法(大数乘小数)语法:mult(charc[],chart[],intm)
6、;参数:c[]:被乘数,用字符串表示,位数不限t[]:结果,用字符串表示m:乘数,限定10以内返回值:null注意:需要string.h源程序:voidmult(charc[],chart[],intm){inti,l,k,flag,add=0;chars[100];l=strlen(c);for(i=0;i=10){s[i]=k%10;add=k/10;flag=1;}else{s[i]=k;flag=0;add=0;}}i
7、f(flag){l=i+1;s[i]=add;}elsel=i;for(i=0;i