| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 761 人关注过本帖
标题:[求助]消除冗余序列算法
取消只看楼主 加入收藏
loveivy
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-28
收藏
 问题点数:0 回复次数:0 
[求助]消除冗余序列算法
1. 课题功能描述
在0、1组成的字符串序列中,如果存在连续n个(n>=3)“1”构成的子序列则将该子序列改为10…02,其中0的个数为n-1个。
例如:
原始序列为: 111110011110111011;
修改后的序列为: 1000020100021002011。
2. 问题的解决方案:
定义一个比较大的字符数组;
从键盘读入数据;检查数据的合法性(如果有非字符“0”或字符“1”就认为非法),如果非法重新读入;
确定字符串的长度。
从字符串的尾部开始判断字符“1”的个数,如果数目超过3个,则最后一位改为“2”,而将中间n-1位改为“0”,而将前面原始是“0”的位置改为“1”。
如果是最低位0位开始有超过3个“1”,还需要将数据整体后移一位,然后再将最后一位改为“2”,而将中间n-1位改为“0”,而将第0位放置为“1”。
例如上面例子中,原始序列是18位,而修改后序列为19位,原因就是最低5位为“1”,因此需要将数据整体后移一位,并且第0位放置为“1”。
四、创新要求
在基本要求达到后,进行创新设计,输入数据不是字符串,而是大于232-1的大整数,将其转换成为二进制表示后进行如上处理。
搜索更多相关主题的帖子: 冗余 序列 算法 消除 
2007-06-28 09:10
快速回复:[求助]消除冗余序列算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015596 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved