![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 67
novice2008
这个作者很懒,什么都没留下…
展开
-
快速求幂
举个例子:2^7=2^(4+2+1)=(2^4)*(2^2)*(2^1);而7的二进制表示方法为111。也就是只有在二进制数位上为1时乘一个2^n,而在二进制数位上为0时,则不乘。int pow3(int x, int n){ int result = 1; while (n > 0) { if (n & 1) //转载 2014-07-27 14:23:35 · 445 阅读 · 0 评论 -
埃拉托斯特尼筛法
给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉; 接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去......。 细列出算法如下:1.列出2以后的所有序列: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22转载 2014-07-27 14:12:28 · 849 阅读 · 0 评论 -
求四的N次幂
一、四的N次幂的形式4的N次幂应该是:二进制 十进制1 1 //0次幂 100 4 //1次幂 10000 16 //2次幂 1000000 64 //3次幂 100000000 256 //转载 2014-07-28 18:23:16 · 2195 阅读 · 0 评论 -
欧几里得算法
/*gcd = greatest common divisor欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:定理:gcd(a,b) = gcd(b,a mod b)证明:a可以表示成a = kb + r,则r = a mod b假设d是a,b的一个公约数,则有d|a, d|b,而r = a - kb,由d|a知存在整数m1使转载 2014-07-31 20:50:00 · 325 阅读 · 0 评论 -
折半查找
设两个变量left和right分别表示被查找表的左边界和右边界,转载 2014-08-08 14:03:55 · 478 阅读 · 0 评论 -
选择排序算法
从未被排序的整数中找出最小的整数,将其放在已排序整数列表中的转载 2014-08-08 13:11:24 · 327 阅读 · 0 评论 -
全排列算法
给定由n个元素组成的集合,输出该集合所有可能的排列。例如,集合转载 2014-08-08 14:46:45 · 433 阅读 · 0 评论