找回密码
 欢迎注册
查看: 12082|回复: 5

[讨论] 二进制问题一则

[复制链接]
发表于 2008-3-20 17:24:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
有二进制数字M
二进制数字N
M, N二进制表示中的1数量相等

对M做变换,每次可交换相邻位数字
问是否总能把M变换成N
最少的次数是多少?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-3-20 18:35:12 | 显示全部楼层
这个可行性是很容易证明的。
不过最少次数应该是一个计算机问题。看问题的规模如何。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-3-21 16:39:04 | 显示全部楼层
简单些
小于等于32位
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-3-24 00:27:20 | 显示全部楼层
问是否总能把M变换成N
最少的次数是多少?

------------------
最少0次。应该问最坏情况下,最多的次数?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-3-24 08:02:04 | 显示全部楼层
最多次数好解。应该就是0和1数目一样多(或只差一个),从1都是左边(N)变成1都在右边(M).如果1数目不超过0的数目,1的数目为u,0的数目为v(v=u或v=u+1),那么容易证明这时需要变换uv次。
而对于其它情况,也容易证明,uv次数变换肯定足够。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-3-24 15:51:27 | 显示全部楼层
是某些问题的变形
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-6-14 12:10 , Processed in 0.057095 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表