社区
数据结构与算法
帖子详情
有18位的二进制环形编码(18位连成一个圆圈,只能有一次连续的4个1作为识别码),请问这种组合共有多少种?
zteclx
2009-02-21 12:04:12
有18位的二进制环形编码(18位连成一个圆圈,只能有而且必须有一个连续的4个1作为识别码),请问这种组合共有多少种?
...全文
570
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 不过还要考虑到环的问题 写起来真麻烦.
18.
圆圈
中最后剩下的数字
题目:n个数字(0,1,…,n-1)形成
一个
圆圈
,从数字0开始,每次从这个
圆圈
中删除第m个数字(第
一个
为当前数字本身,第二个为当前数字的下
一个
数字)。当
一个
数字删除后,从被删除数字的下
一个
继续删除第m个数字。求出在这个
圆圈
中剩下的最后
一个
数字。分析:既然题目有
一个
数字
圆圈
,很自然
基于modelsim的十个Verilog入门试验程序(2)(JK触发器+
环形
计数器)—程序+测试代码+波形+结果分析
内容 实验一:7人表决器的设计 实验二:算数逻辑单元的设计 实验三:JK触发器的设计 实验四:
环形
计数器的设计 实验五:顺序排列的设计 实验六:
二进制
除法器的设计 实验七:数字显示频率计的设计 实验八:序列检测器的设计 实验九:数字秒表的设计 实验十:自助售票机的设计 实验三:JK触发器的设计 编写Verilog代码使之能正确描述下表所示的1bit JK触发器功能,其中Q+表示在时钟上升沿到来后的Q值。要求该触发器还具有异步复位的功能 //程序: module jk_ff(q,clk,j,
基于Vue框架封装的画
环形
进度条组件
这个是基于Vue框架封装的可多次调用的画
环形
进度条的组件下面是组件代码 <template> <div class="progess-container"> <canvas :id="params.id" width="200" height="200"></canvas> </div> &l...
AD18极坐标布局实战:从栅格管理器到
环形
灯板设计
本文详细介绍了AD18极坐标布局在PCB设计中的实战应用,特别是栅格管理器的深度调校技巧和
环形
灯板设计全流程。通过极坐标系统的径向对称性和动态适配特性,大幅提升
环形
电路设计的效率和精度,适用于智能硬件、LED灯板等场景。
打印
环形
矩阵 python
打印
环形
矩阵 python 题目:输入
一个
整数N,打印出从1~NN的NN矩阵。 比如N = 3,构成矩阵: 1 2 3 8 9 4 7 6 5 N=5时,构成矩阵: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 对于输入的整数,安行输出回形矩阵。 输入:3 输出:1 2 3 8 9 4 7 6 5 // A...
数据结构与算法
33,025
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章