摘要: 题目: 不使用/,%,+和*,如何判断一个数能否被3整除解答: 关键提示: 如果n的二进制末位为0,那么n和n>>1同时被3整除或者不整除 如果n的二进制末位为1,那么n和(n>>1)-1同时被3整除或者不整除 1 bool IsTimesOf3(int n) 2 { 3 int lastPosition; 4 if (n < 0) 5 n = - n; 6 while (n > 0) 7 { 8 lastPosition = n & 1; // 0 or 1 9 n ... 阅读全文
posted @ 2012-04-15 00:17 ziyoudefeng 阅读(1091) 评论(0) 推荐(1) 编辑