社区
C语言
帖子详情
一个《编程珠玑》中的问题
hanb99
2008-10-16 08:52:28
在这本书的P6页中:
我们可以使用一个20位的字符串表于一个小型的小于20的非负整数集合,例如:{1,2,3,5,8,13}可以存储在下面的字符串中:01110100100001000000
集合中代表数的各个位设为1,其它位置为0。
------------------------------------
这样的表示方法不太懂,它是如何设置又是如何还原的呢?指高人指点一下。
...全文
112
9
打赏
收藏
一个《编程珠玑》中的问题
在这本书的P6页中: 我们可以使用一个20位的字符串表于一个小型的小于20的非负整数集合,例如:{1,2,3,5,8,13}可以存储在下面的字符串中:01110100100001000000 集合中代表数的各个位设为1,其它位置为0。 ------------------------------------ 这样的表示方法不太懂,它是如何设置又是如何还原的呢?指高人指点一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenzhp
2008-10-16
打赏
举报
回复
来学习
hanb99
2008-10-16
打赏
举报
回复
哦,是不是在这个集合中有几(如15),那么字符串的第14位(从零开始)就是1,其它也如此。
mifeixq
2008-10-16
打赏
举报
回复
这个表示方法就是20位的字符串
如果集合中有数字几,就在第几位上置1
如集合{1,2,3,5,8,13}有1 则第一位(注意,该字符串适从0开始到19结束)写1
就是
01...(0位写0,1位写1),同理,有2,则第2位写1
011... 有3 则
0111...
于是该集合就对应字符串
01110100100001000000
123 5 8 13
nicholasfly
2008-10-16
打赏
举报
回复
up
没明白……
Nobody_Linux
2008-10-16
打赏
举报
回复
[Quote=引用 2 楼 mifeixq 的回复:]
这个表示方法就是20位的字符串
如果集合中有数字几,就在第几位上置1
如集合{1,2,3,5,8,13}有1 则第一位(注意,该字符串适从0开始到19结束)写1
就是
01...(0位写0,1位写1),同理,有2,则第2位写1
011... 有3 则
0111...
于是该集合就对应字符串
01110100100001000000
123 5 8 13
[/Quote]
正解
hanb99
2008-10-16
打赏
举报
回复
谢谢mifeixq
LiTuX
2008-10-16
打赏
举报
回复
我觉得貌似应该不是用“字符串”的吧?
——要想节约内存,直接将各个比特设置成1来表示多好?
(这么做有意义吗?要一个这样的集合,干什么使唤??)
xtdumpling
2008-10-16
打赏
举报
回复
up
mifeixq
2008-10-16
打赏
举报
回复
[Quote=引用 3 楼 hanb99 的回复:]
哦,是不是在这个集合中有几(如15),那么字符串的第14位(从零开始)就是1,其它也如此。
[/Quote]
就是第15位~~他表示不了20…… 上面也说了是小于20的集合……
编程
珠玑
源码下载
编程
珠玑
书后源代码
编程
珠玑
书后源代码
编程
珠玑
书后源代码
编程
珠玑
书后源代码
编程
珠玑
书后源代码
编程
珠玑
书后源代码
编程
珠玑
书后源代码
编程
珠玑
编程
珠玑
编程
珠玑
编程
我觉得不错,和大家分享!
编程
珠玑
编程
珠玑
编程
珠玑
编程
珠玑
编程
珠玑
编程
珠玑
编程
珠玑
编程
珠玑
编程
珠玑
续
编程
珠玑
和
编程
珠玑
续两本,上传赚点分,填充填充填充
编程
珠玑
(续)
《
编程
珠玑
(续)》是计算机...书
中
涵盖了程序员操纵程序的技术、程序员取舍的技巧、输入和输出设计以及算法示例,这些内容组成
一个
有机的整体,如一串串
珠玑
展示给程序员。 《
编程
珠玑
(续)》适合各级程序员阅读参考。
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章