社区
数据结构与算法
帖子详情
有18位的二进制环形编码(18位连成一个圆圈,只能有一次连续的4个1作为识别码),请问这种组合共有多少种?
zteclx
2009-02-21 12:04:12
有18位的二进制环形编码(18位连成一个圆圈,只能有而且必须有一个连续的4个1作为识别码),请问这种组合共有多少种?
...全文
538
17
打赏
收藏
有18位的二进制环形编码(18位连成一个圆圈,只能有一次连续的4个1作为识别码),请问这种组合共有多少种?
有18位的二进制环形编码(18位连成一个圆圈,只能有而且必须有一个连续的4个1作为识别码),请问这种组合共有多少种?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zteclx
2009-03-30
打赏
举报
回复
mathe :辛苦了,我先看看。
mathe
2009-03-30
打赏
举报
回复
14楼贴错了两处
一个是
s=r^(-1)(r-1)/(5*r-8),
另一个是
s~=0.2938130627736427370192323321
mathe
2009-03-30
打赏
举报
回复
同样,如果换成3个1作为开头,那么我们只需要将四阶广义菲波那挈数列换成三阶的就可以了
于是通项公式变成
round(s*r^(n+2)),其中s=r^(-1)(r-1)/(4*r-6)
其中r为x^3-x^2-x-1=0的正实数根,即1.839286755214161132551852565
而s~=0.3362281169949410942253629537,
所以通项为round(s*r^(n+2))
而这是n=13,所以结果为round(0.3362281169949410942253629537*1.839286755214161132551852565^15)=round(3135.997304035243766542589073)=3136.
也就是结果更加多.
mathe
2009-03-30
打赏
举报
回复
我试着用Pari/Gp计算一下,应该是2872.
从另外一个方面,我们也可以先解出矩阵的特征多项式
结果为 x^4 - x^3 - x^2 - x - 1
从这里可以看出,这个数列的递推式为a(n+4)=a(n+3)+a(n+2)+a(n+1)+a(n),就是所谓的广义菲波那挈数列
而前四项为a(0)=1,a(1)=2,a(2)=4,a(3)=8,
于是我们根据
我的一个结论
可以得到其通项公式为
round(s*r^(n+2)),
其中s=r^(-1)(r-1)/(10*r-8),
r为方程x^4-x^3-x^2-x-1=0的唯一的正实数根.
其中r~=1.927561975482925304261905862,s~=-1.328611428962112567203246619
比如对于这个题目,n=12,所以结果为
round(-1.328611428962112567203246619*1.927561975482925304261905862^14)=round(2872.023620480750834593275145)=2872.
zteclx
2009-03-29
打赏
举报
回复
dengsf :
很感谢,感觉你的算法是对的,图论功底比较深厚。
还麻烦一下,如果是使用连续的3个1作为开头呢?这种组合会不会比连续的4个1少呢?
dengsf
2009-03-23
打赏
举报
回复
因为有且只有一个连续的 1111,
而该 1111 两边都肯定是0,
从 011110 处拆开该环并作为开头,
余下 12 位不包含 4个连续1 的排列数目就是所求.
求有效的排列数方法如下:
用包含4个状态(顶点)的图,
0 1 2 3
--------
0| 1 1 1 1
1| 1 0 0 0
2| 0 1 0 0
3| 0 0 1 0
状态0-3表示目前已走过多少过连续的 1,
图中 (i,j)元素为 1 表示可从状态 j 转到状态 i(即有j->i的有向边).
比如 (0,2)为 1, 表示之前的排列为 011-, -为0时则可转到状态 0.
初始时在状态0, 则解答就是走了 12 步后所有可能的路径条数.
设列向量 ti=(ni0, ni1, ni2, ni3) 表示走了i步后,
落在各个状态的路径条数,
则解答就是 n12-0 + n12-2 + n12-2 + n12-3.
设上述图的矩阵为 M,
而 t(i+1) = M * ti
t0 = (1, 0, 0, 0)
所以 t12 = M^12 * t0
利用矩阵运算可轻松求出结果.
这道题目即使手算也很轻松,
t0=(1,0,0,0)
递推规则:
n(i+1)0 = ni0 + ni1 + ni2 + ni3
n(i+1)1 = ni0
n(i+1)2 = ni1
n(i+1)3 = ni2
最后我算出是 2200 种(不知有无错~~)
xcopy
2009-03-10
打赏
举报
回复
既然是环,就假设011110在开始,然后算其他部分不包含1111的可能情况。每种情况又可以循环左移1,2,3,...,17位.
12位二进制数最大就是 2的12次方-1。
写个程序判断从0到 2的12-1次方的每个数,如果它的二进制表示里没有连续的四个1,那它就算一个。
找出所有数的个数然后乘以17就是总的符合条件的个数。
zteclx
2009-03-09
打赏
举报
回复
只能有4个连续的1作为开头(而且只能有一次4个连续的1),没有其他要求了
绿色夹克衫
2009-02-22
打赏
举报
回复
除了4个1开头之外,有什么其他的要求么?LZ最好说清楚一些,否则大家都只能是猜!
[Quote=引用 8 楼 zteclx 的回复:]
如果我是必须要4个1开头呢?主要是要用4个1作为同步,做一个环形条码。
[/Quote]
zteclx
2009-02-22
打赏
举报
回复
如果我是必须要4个1开头呢?主要是要用4个1作为同步,做一个环形条码。
zteclx
2009-02-22
打赏
举报
回复
能编程产生合乎要求的随机数吗?用程序实现产生要求的随机数才是最终目的
zteclx
2009-02-22
打赏
举报
回复
donkey301的看来有道理
绿色夹克衫
2009-02-22
打赏
举报
回复
用程序算了一个51016, 规则是最长连续4个1,并且只有1个4个1的串,剩下可以有连续3个的。
不知道是否满足LZ的要求。
绿色夹克衫
2009-02-21
打赏
举报
回复
LZ的意思是18位的2进制编码中,包括4个连续的1的编码有多少种么?(连续5个的不算对么?)
donkey301
2009-02-21
打赏
举报
回复
我试了一下,不知道对不对:
必定包含仅包含一个011110的组合 = 包含011110的组合 - 包含011110但至少还有另外一个1111的组合
包含011110的组合: = 18 * 2^12 - 重复数
重复数指的譬如01111001111000000,1-6的六位数和7-12的六位数是同一组合.
包含011110但至少还有另外一个1111的组合: = 18 * 8 * 2^8 - 重复数
因为重复数在必定包含仅包含一个011110的组合不存在,所以上面两个重复数必然相等.
===> 必定包含仅包含一个011110的组合 = 18 * 2^12 - 18 * 8 * 2^8 = 18 * 2^11
jlj84237485
2009-02-21
打赏
举报
回复
帮顶一下
atlight
2009-02-21
打赏
举报
回复
还是编程算吧。数学上太难 根据题意必定包含仅包含一个011110
可以用三个字节从0开始一直加1 每次进行判定.
要不用 bitset 不过还要考虑到环的问题 写起来真麻烦.
java base64的jar包
http://blog.csdn.net/yx0628/article/details/9633947 这个是gps转百度地图坐标的相关介绍。
将数字转换成文本的程序
将数字转换成文本, 如32转换成thirty two
二进制
霍夫曼
编码
通过查看其他博客的内容,整理一篇关于
二进制
霍夫曼
编码
的笔记供大家参考和讨论,如果有错误,欢迎大家联系我批评指正。 一、
二进制
霍夫曼的原理 我们可以将
二进制
霍夫曼
编码
拆分理解:
二进制
即 0、1;
二进制
编码
就是用0和1的
组合
来表示其他字符; 霍夫曼
编码
(Huffman Coding)是一
种
编码
方式,是一
种
用于无损数据压缩的熵
编码
(权
编码
)算法,通常用于无损数据压缩。(详见维基百科:...
二进制
编码
和解码
3. 霍夫曼
编码
:霍夫曼
编码
是一
种
有效的变长
编码
方法,它通过将出现频率高的字符
编码
为较短的
二进制
序列,出现频率低的字符
编码
为较长的
二进制
序列,从而实现对文本数据的高效压缩。1. 数据存储:计算机系统中的数据存储都是以
二进制
形式进行的,因此
二进制
编码
是将各
种
类型的数据转换为计算机可识别的数据表达形式的关键步骤。3. 数据处理:在计算机中的数据处理和运算操作也都是基于
二进制
形式的数据进行的,
编码
和解码是数据输入和输出的重要环节。
二进制
编码
和解码是计算机系统中的基础操作,对于数据的处理和传输起着至关重要的作用。
自然
二进制
码与格雷码相互转换
自然
二进制
码与格雷码相互转换 一、格雷码简介 格雷码是由弗兰克·格雷于1953年发明,其主要特点是相邻
编码
值中间只有
一个
比特发生改变,又被称为循环码。 格雷码是一
种
无权码,采用绝对
编码
方式,典型格雷码是一
种
具有反射特性和循环特性的单步自补码,它在任意两个相邻的数之间转换时,只有
一个
数位发生变化。它大大地减少了由
一个
状态到下
一个
状态时逻辑的混淆。 二、自然
二进制
码转换为格雷码 自然
二进制
码转换成
二进制
格雷码,其法则是保留自然
二进制
码的最高位作为格雷码的最高位,而次高位格雷码为
二进制
码的高位与次高位相异或,格雷
数据结构与算法
33,028
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章