算法
文章平均质量分 58
beyondkmp
这个作者很懒,什么都没留下…
展开
-
计算阶乘n!末尾所含0的个数
解题思路: 前一段时间看到一个往年程序竞赛的题解, 有一个题目说的是求 100 的阶乘末尾有多少个 0. 题解中给出的讲解提到, 一个数 n 的阶乘末尾有多少个 0 取决于从 1 到 n 的各个数的因子中 2 和 5 的个数, 而 2 的个数是远远多余 5 的个数的, 因此求出 5 的个数即可. 题解中给出的求解因子 5 的个数的方法是用 n 不断除以 5, 直到结果为 0, 然后把中间得转载 2013-12-31 13:08:27 · 1599 阅读 · 0 评论 -
查找数组中第二大的数(c语言)
#includeint flag=0; //标记数组内的内容全部相同int findsecond(int a[],int len){ int max,secmax; int i; if (a[0]>a[1]) { max=a[0]; secmax=a[1]; } else { max=a原创 2014-04-02 17:17:22 · 5784 阅读 · 2 评论 -
堆排序算法(c 语言实现)
#includeint left(int i){ return 2*i;}int right(int i){ return 2*i+1;}void max_heapify(int a[],int i,int size){ int l,r,largest; int tmp,j; for (j=i;j<=size;j=largest)原创 2014-04-12 23:08:29 · 937 阅读 · 0 评论 -
AES中构造s盒中的乘法逆元的c语言实现
此题根据扩展欧几里德算法来求多项式的乘法逆元。此算法可以参照密码编码学与网络安全p96。在实现过程的主要的解决问题有三个:实现多项式的乘法,核心函数如下://多项式乘法,算法就是书上96的算法while(b){r=b%2;b=b/2;if(value>>7)//b7为1,就要与00011011相与value=(valuee原创 2014-07-23 22:55:35 · 4163 阅读 · 1 评论