网站首页
网站导航
Ctrl+D收藏
首 页
代码段
源码包
文档库
工具箱
代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C/C++
】
如何判断某个二进制数如是否存在两位1中间有包含0的情
作者:
/ 发布于
2017/4/17
/
196
请尽量用基础数学解答,遍历一类的就不用说了,无解的话也请说明下。 例如:111100或100000或000000都是1中间没有0;101010或100111这都属于除1之外有多个0相连的情况。
#include <iostream> enum STATE { ORI, ONE, ONEZERO, ONEZEROONE }; bool check(int M) { STATE s = ORI; while (M != 0) { char ch = M & 0x1 ? '1' : '0'; switch (s) { case ORI: if (ch == '1') s = ONE; break; case ONE: if (ch == '0') s = ONEZERO; break; case ONEZERO: if (ch == '1') return false; } M = M >> 1; } if (s == ONE || s == ONEZERO) return true; return false; } int main() { std::cout << check(184) << std::endl; std::cout << check(120) << std::endl; return 0; }
评论列表
本站所提供的代码,版权归原作者所有,若有侵犯作者版权,请与我们联系,我们将立即删除或修改。谢谢!
本站所有代码发布及提供者。
试试其它关键字
同语言下
.
C分鱼问题
.
链表
.
最大连续和
.
编码字符串
.
libiconv字符编码处理及判断字符串是否为utf8
.
一组数中两两二元组,差最大有几对,差最小呢?(数组
.
通过管道获取一个进程的执行状态
.
多关键字排序
.
字符串字典序排序
.
3元一次方程(牛顿迭代法求方程的根)
可能有用的
.
C分鱼问题
.
链表
.
最大连续和
.
编码字符串
.
libiconv字符编码处理及判断字符串是否为utf8
.
一组数中两两二元组,差最大有几对,差最小呢?(数组
.
通过管道获取一个进程的执行状态
.
多关键字排序
.
字符串字典序排序
.
3元一次方程(牛顿迭代法求方程的根)
贡献的其它代码
Label
地图
本站
我们
服务
版权
联系
回馈
博客