![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
常用算法
Jason-Cai
这个作者很懒,什么都没留下…
展开
-
判断一个数是2的幂数的最快方法!
if(n&(n-1)) then n不是2的幂数;else n是2的幂数; 原理:如果n=2^K,那么n = 1000...0(k个0),则n-1 = 111...0(k个1);相与之后则为0如果 n!=2^k,那么 n跟(n-1)第一位都为1,则相与这后然后第一位为1,则不为0.【更正】上面当n==0也会误判成2的幂数,所以应该更正为:if(原创 2009-08-09 15:20:00 · 1845 阅读 · 1 评论 -
判断24点算法,是否有解
先将24点直接转化为浮点型来运算,这样可以省去除0的处理。本文中是归一思路,4个数求24点--> 3个数求24点-- 2个数求24点-->1个数是不是24点。bool chk(double a[],int n){if(n == 1)原创 2011-10-04 11:28:09 · 3264 阅读 · 0 评论 -
一道挺好玩的题,可用来作面试题【来自20111224 Topcoder DIVI 250题】
一道挺好玩的题,可用来作面试题【来自20111224 Topcoder DIVI 250题】有N个数,编号1到n。按照以下规则进行删除数,求最后剩下的那个数。【1规则:1 . 如果当前序列的个数大于1,则删除所有序列中第平方数的位置的数。2. 将进行1操作剩下的数,重新排在一起,重复操作1,直接当前序列数为1个数时,这个数就是结果。 例子: 如果翻译 2011-12-24 23:29:05 · 960 阅读 · 2 评论