不用除法和求模运算,判断一个数能否被3整除
来源:互联网 发布:linux 根目录挂载 编辑:程序博客网 时间:2024/03/29 01:52
昨天看到一个有意思的题目,不用除法和求模运算,判断一个数能否被3整除。这个问题,网上有人给了一个答案,但是该答案并不正确(读者可以自己去网上搜一下这个题目,可以看到该答案)。本文提出一个思路,与读者分享。
3是一个比较特别的数,其二进制表示是0b11,也就是说任何一个数乘以3的结果实际上是这个数与其左移1位后相加的结果。现在给出一个数a,假设它能被3整除,结果是b,即a=3*b,那么从二进制乘法运算判断出,b的最低位与a的最低位一定是相同的,从而得到了b的最低位,将这个位左移1位变成次低位,那么a的次低位以上的比特减去这个位后在次低位上的结果一定是b的次低位。以此类推可以求出b的各个比特,如果最后能完成对b的各位的计算,那么a能够被3整除,否则不能被3整除。
最后将上述思路写成代码是:
- 不用除法和求模运算,判断一个数能否被3整除
- 检测一个数能否被3整除----位运算
- 判断一个数能否被2、3、5整除
- 判断一个数能否被3,5,7整除
- Adobe面试题“不使用/,%,+和*,如何判断一个数能否被3整除”的解答
- Adobe面试题“不使用/,%,+和*,如何判断一个数能否被3整除”的解答
- 【c语言】判断一个数n能否同时被3和5整除
- 习题 2.4(5) 判断一个数n能否同时被3和5整除。
- 08:判断一个数能否同时被3和5整除
- 判断一个整数能否同时被3和5整除
- 内部赛题目 求一个数能否被3整除 求每一位数的和时 要减去字符0
- 大数除法 判断能否整除
- 怎样判断一个数能否被7整除
- 判断一个数能否被另一个数整除
- 判断一个数能否被7或9整除
- 如何判断一个数字能否同时被两个数整除;
- 输入一个数判断能否被五整除
- 不用库函数求两个数除法运算
- Grub2终端命令介绍
- 数据恢复软件开发、编程-NTFS扫描恢复通用库
- 宏参数加括号的原因
- API 层实现语音录制
- Flash 平台技术的优化(六) 计时器与 ENTER_FRAME 事件
- 不用除法和求模运算,判断一个数能否被3整除
- Key-Value配置信息类(.ini文件信息管理类)的设计与实现
- 两个数据库间拷贝表和数据 -oracle
- css 背景的妙用
- *nux编程的108种奇淫巧计-5(rbp寄存器)
- VS2005 C++ 调用C# DLL
- SPFA + 静态邻接表 模板
- Ubuntu下tftp的安装
- Web Service应用