ACM小组内部预定函数ACM.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACM小组内部预定函数ACM 数学问题: 1.精度计算——大数阶乘 2.精度计算——乘法(大数乘小数) 3.精度计算——乘法(大数乘大数) 4.精度计算——加法 5.精度计算——减法 6.任意进制转换 7.最大公约数、最小公倍数 8.组合序列 9.快速傅立叶变换(FFT) 10.Ronberg算法计算积分 11.行列式计算 12.求排列组合数 13.求某一天星期几 字符串处理: 1.字符串替换 2.字符串查找 3.字符串截取 4.LCS—最大公共子串长度 5.LCS-生成最大公共子串 6.数字转化为字符 计算几何: 1.叉乘法求任意多边形面积 2.求三角形面积 3.两矢量间角度4.两点距离(2D、3D) 5.射向法判断点是否在多边形内部 6.判断点是否在线段上 7.判断两线段是否相交 8.判断线段与直线是否相交 9.点到线段最短距离 10.求两直线的交点 11.判断一个封闭图形是凹集还是凸集 12.Graham扫描法寻找凸包 13.求两条线段的交点 数论: 1.x的二进制长度 2.返回x的二进制表示中从低到高的第i位 3.模取幂运算 4.求解模线性方程 5.求解模线性方程组(中国余数定理) 6.筛法素数产生器 7.判断一个数是否素数 8.求子距阵最大和 9.求一个数每一位之和 10.质因数分解 11.高斯消元法解线性方程组 图论: 1.Prim算法求最小生成树 2.Dijkstra算法求单源最短路径 3.Bellman-ford算法求单源最短路径 4.Floyd算法求每对节点间最短路径 5.解欧拉图 排序/查找: 1.快速排序 2.希尔排序 3.选择法排序 4.二分查找 高精度运算专题: 1.本专题公共函数说明 2.高精度比较 3.高精度加法 4.高精度减法 5.高精度乘10 6.高精度乘单精度 7.高精度乘高精度 8.高精度除单精度 9.高精度除高精度 一、数学问题 1.精度计算——大数阶乘 语法:int result=factorial(int n); 参数: n:n 的阶乘 返回值:阶乘结果的位数 注意: 本程序直接输出n!的结果,需要返回结果请保留long a[] 需要 math.h 源程序: int factorial(int n) { long a[10000]; int i,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(c0) {m++;a[m]=c;} } w=m*4+log10(a[m])+1; printf(\n%ld,a[m]); for(i=m-1;i=0;i--) printf(%4.4ld,a[i]); return w; } 2.精度计算——乘法(大数乘小数) 语法:mult(char c[],char t[],int m); 参数: c[]:被乘数,用字符串表示,位数不限 t[]:结果,用字符串表示 m:乘数,限定10以内 返回值:null 注意: 需要 string.h 源程序: void mult(char c[],char t[],int m) { int i,l,k,flag,add=0; char s[100]; l=strlen(c); for (i=0;il;i++) s[l-i-1]=c[i]-0; for (i=0;il;i++) { k=s[i]*m+add; if (k=10) {s[i]=k%10;add=k/10;flag=1;} else {s[i]=k;flag=0;add=0;}

文档评论(0)

fc86033 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档