"; }}/* * 分析: 由一周为一个轮回。
如果刚好有偶数个周,数组高大于宽,则有$col/2次轮回,若宽大于高则 有$row/2个轮回。 如果未奇数个周,则有$len/2+1个周。 */function
Printarrayincircle($arr) { $col = count...
分类:
其他好文 时间:
2014-05-10 08:10:37
阅读次数:
285
一、位运算常用的小技巧:判断奇偶、交换两数、变换符号及求绝对值等1.判断奇偶只要根据最未位是0还是1来决定,为0就是偶数,为1就是奇数。因此可以用if ((a
& 1) == 0)代替if (a % 2 == 0)来判断a是不是偶数。下面程序将输出0到100之间的所有奇数。1 for (i = 0;...
分类:
其他好文 时间:
2014-05-09 23:43:43
阅读次数:
467
题意:
定义函数F(x) :
区间[1,x]上的y是满足:GCD(x,y)>1 && x%y>0的 y的个数。
问:对于任意区间[l,r] 上的F(l···r) 有几个函数值是奇数的。
打表找规律。
打的是[1,x]区间的结果
把所有结果不相同的值打出来(因为结果是递增的,所以只观察不相同的结果)
发现:ans = x/2-2 || x/2-1
再把所有结果不同 &...
分类:
其他好文 时间:
2014-05-09 22:26:35
阅读次数:
424
奇偶剪枝:
对于从起始点 s 到达 终点 e,走且只走 t 步的可达性问题的一种剪枝策略。
如下列矩阵 :
从任意 0 到达 任意 0,所需步数均为偶数,到达任意 1 ,均为奇数。反之亦然
所以有,若s走且只走 t 步可到达e,则必有t >= abs(s.x - e.x) + abs(s.y - e.y),且 (t&1) == ((abs(s.x - e.x) + abs(s.y - ...
分类:
其他好文 时间:
2014-05-08 17:31:15
阅读次数:
305
1.
奇数偶数对于一个正整数的二进制,如果是偶数,那么最低位一定是0,相反如果是奇数,最低位一定是1。比如4(0100),3(0011)等等。因此通过对一个整数的二进制最低位的可以判断其是奇数还是偶数。对正整数a,判断奇偶可以通过(a&0x1)来判断,是1则是奇数,是0则是偶数。将一个奇数转成比他小...
分类:
其他好文 时间:
2014-05-08 13:31:25
阅读次数:
272
题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=81分析:从p点出发做平行于x轴的射线
l。 求射线与 多边形 线段的交点数num, 若是偶数 , 该点 在外, 若为奇数, 该点在内。注意: 两个特判, 1: 一个是 ....
分类:
其他好文 时间:
2014-05-07 19:56:19
阅读次数:
401
简直没法吐槽华为的服务器质量了,登一次半小时,提交一次等半小时,然后第二个题的结果还不知道呢,服务器就挂了。。。
题目本身倒是还挺简单的。
A题是鸡兔同笼问题:
给出鸡和兔子的头数和脚数(可能不对),让你判断鸡的个数和兔子的个数。。小学经典问题。
关键是不合法的情况,总共有4种。
1、头比脚多。。
2、脚是奇数= =
3、脚>4*头或者脚
so.出来了。
#include
#i...
分类:
其他好文 时间:
2014-05-07 08:12:04
阅读次数:
289
1、Thumb指令访问R0-R7,Thumb-2访问所有寄存器。
2、满栈向下增长
PUSH {R0} ; *(--R13) = R0
POP {R0} ; R0 = *R13++
四个字节对齐,也就是地址是0x4,0x8 等。
3、
main
BL fun
fun
BX LR
4、写入到PC也就是R15的数值必须是奇数,不然会企图进入ARM模式...
分类:
其他好文 时间:
2014-05-07 06:08:21
阅读次数:
287
其他出现两次,只有一个出现一次的那道题我就不更了,直接抑或,最后的结果就是那个数。为什么可以这样做呢?因为一个32位int,如果所有数都出现了两次,那么为1的那些位统计的个数一定是2的倍数,抑或之后全变成0。一个数出现了一次,它为1的那些位上,1的个数必定是奇数,抑或之后一定还是1。
我之前知道出现两次这个题的解法,但是理解的不够深,以为抑或是关键,其实不是,出现了偶数次才是关键。理解了这点,推...
分类:
其他好文 时间:
2014-05-06 15:11:02
阅读次数:
310
【面试题014】调整数组顺序使奇数位于偶数前面输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数 位于
数组的前半部分,所有偶数位于数组的后半部分。1.第一个指针初始化为指向数组的第一个数字,他向后移动2.第二个指针初始化为指向数组的最后一个数字,他向前面移动,3.在两个指针相.....
分类:
其他好文 时间:
2014-05-05 21:42:10
阅读次数:
267