免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 346196247
打印 上一主题 下一主题

[算法] 作者被禁止或删除 内容自动屏蔽 [复制链接]

论坛徽章:
2
操作系统版块每日发帖之星
日期:2015-08-05 06:20:0015-16赛季CBA联赛之北控
日期:2019-02-13 22:56:03
11 [报告]
发表于 2013-02-03 17:19 |只看该作者
本帖最后由 346196247 于 2013-02-03 17:20 编辑
mci2004 发表于 2013-02-03 16:59
2^n - 1在计算机里面用二进制表示为

1000000....0
可以勉强可以懂,
我只看到你的然后那里就不懂了

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
12 [报告]
发表于 2013-02-03 17:32 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
3
摩羯座
日期:2013-11-12 20:06:19午马
日期:2013-11-27 16:35:55双鱼座
日期:2014-04-04 19:02:30
13 [报告]
发表于 2013-02-03 17:35 |只看该作者
本帖最后由 mci2004 于 2013-02-03 17:36 编辑

0111111111...111  =

     0100000000...000
+  0010000000...000
     0001000000...000
                         ...
     00000000000001


现在呢?

字符宽度不一样,要怎么对其呢?谁来指导下

论坛徽章:
2
操作系统版块每日发帖之星
日期:2015-08-05 06:20:0015-16赛季CBA联赛之北控
日期:2019-02-13 22:56:03
14 [报告]
发表于 2013-02-03 17:59 |只看该作者
本帖最后由 346196247 于 2013-02-03 18:01 编辑
mci2004 发表于 2013-02-03 17:35
0111111111...111  =

     0100000000...000
懂了,这个是看懂的懂,了  

论坛徽章:
11
摩羯座
日期:2013-09-16 11:10:272015亚冠之阿尔萨德
日期:2015-06-12 22:53:29午马
日期:2014-04-15 11:08:53亥猪
日期:2014-03-02 23:46:35申猴
日期:2013-12-06 22:07:00亥猪
日期:2013-11-28 12:03:13双鱼座
日期:2013-11-21 14:43:56亥猪
日期:2013-10-23 10:55:49处女座
日期:2013-10-17 18:15:43午马
日期:2013-09-27 17:40:4215-16赛季CBA联赛之青岛
日期:2016-06-22 00:45:55
15 [报告]
发表于 2013-02-03 18:02 |只看该作者
本帖最后由 Ager 于 2013-02-03 18:40 编辑

楼主是不是故意来搞笑的呀?

如果楼主是真不懂的话,那么,恐怕讲数列、数学归纳法什么的,理解曲线岂不是更陡?

不如画个图表,更加直观:

  1. 0: oo
  2. 1: oo
  3. 2: oooo
  4. 3: oooooooo
  5. 4: oooooooooooooooo
复制代码
上图中:
第0行的dot数量是2;
第1行的dot数量是2;
第2行的dot数量是4;
第3行的dot数量是8;
第4行的dot数量是16;
—— 第N行的dot数量是2^N。(N=1,2,3,……,即:N虽是从0开始计的,但前述等量关系只适用于N=1,2,3……)

又,将第0行+第1行,即可以得到第2行(即让第1行自己加自己,俗称翻番);
将第0行+第1行+第2行,即可以得到第3行(即让第2行自己加自己,俗称翻番);
将第0行+第1行+第2行+第3行,即可以得到第4行(即让第3行自己加自己,俗称翻番);
……
即从第0行累加到N行(N=1,2,3,……),dot数量之和总是第N+1行的dot数量。
(第N行自己加自己,翻番,就可以生成第N+1行。)

形而上的说法就是:
2 + 2^1 + 2^2 + 2^3 + ... + 2^N == 2^(N+1)
(N=1,2,3,……,即:N虽依然是从0开始计的,但这里的等式只适用于N=1,2,3……)

将等号左边首项2拆分为1+1,得到:
1 + 1 + 2^1 + 2^2 + 2^3 + ... + 2^N == 2^(N+1)

上式等号两边同时减去1,得到一个依然成立的等式:
1 + 2^1 + 2^2 + 2^3 + ... + 2^N == 2^(N+1) -1

即:
2^0 + 2^1 + 2^2 + 2^3 + ... + 2^N == 2^(N+1) -1

令上式中的 N = n-1,得到:
2^0 + 2^1 + 2^2 + 2^3 + 2^(n-1) == 2^n -1

(n=1,2,3,……)

呵呵,以上不是基于公理系统的数学证明,只是帮助楼主体会数学现象的直观,仅供参考,呵呵 —— :)

论坛徽章:
3
摩羯座
日期:2013-11-12 20:06:19午马
日期:2013-11-27 16:35:55双鱼座
日期:2014-04-04 19:02:30
16 [报告]
发表于 2013-02-03 18:12 |只看该作者
回复 15# Ager


    Ager大虾  爆照啦!?

论坛徽章:
3
15-16赛季CBA联赛之山东
日期:2016-10-30 08:47:3015-16赛季CBA联赛之佛山
日期:2016-12-17 00:06:31CU十四周年纪念徽章
日期:2017-12-03 01:04:02
17 [报告]
发表于 2013-02-03 18:37 |只看该作者
呵呵. folklore 说得没错,这是等比数列求前N项和的问题.

设1 + 2 + 2 ^ 2 + 2 ^ 3 + 2 ^ 4 + 2 ^ 5 + 2 ^ 6 +... +  2 ^ (n - 1) = S ---- (1)
于是
(1 + 2 + 2 ^ 2 + ... + 2 ^ (n - 1)) * 2 = S * 2 ---- (2)
于是
(2) - (1) = 2 ^ n - 1 = S
===========================================

还可以用二项式定理得出相同的结论, 将下式用二项式定理展开, 即可得出证明:
(1 + 1) ^ n
===========================================

为什么我说这是计算机的基础题目呢? 因为这和2's complement密切相关.
我们知道, 目前的大多数计算机内部表示整数都是使用补码的方式. 让我们回顾一下, 最高位为符号位:
原码:
正整数的原码, 符号位为0, 其余位为其二进制表示.
负整数的原码, 符号位为1, 其余位为其正整数二进制表示.

1's complement, 也就是反码, 其表示方式是:
正整数的反码, 符号位为0, 其余位为其二进制表示.
负整数的反码, 符号位为1, 其余位为其正整数二进制表示按位取反.

2's complement, 也就是补码, 其表示方式是:
正整数的补码, 符号位为0, 其余位为其二进制表示.
负整数的补码, 符号位为1, 其余位为其正整数二进制表示按位取反再 + 1.

比如, 假设我们只有一个字节来表示一个整数, 那么, 我们只有7位来表示"真正的数值", 最高位为符号位.
比如 -3 的补码表示, 应该是:
+3补码表示:
0000 0011
那么-3的补码表示(最高位1, 其余位按位取反 + 1):
1111 1101

正整数二进制表示按位取反(现在, 让我们不再care符号位什么的)意味着什么? 意味着:
  1111 1111    ---- 2 ^ 8 - 1 == 2 ^ 7 + 2 ^ 6 + ... + 2 ^ 1 + 2 ^ 0
- 0000 0011    ---- +3
-------------------
  1111 1100
意味着, 2 ^ n - 1 - 3. -- 意味着, 我们对一个正整数按位取反, 其实就是 :       2 ^ n - 1 - 这个正整数.
那么, 2 ^ n - 1 - 3 + 1 意味着什么? 意味着 2 ^ n - 3, 也就是说, 我们对一个正整数取反再加一, 其实就是:     2 ^ n - 这个正整数.
我们假设了我们只有一个字节, 因此上面两个"意味"中, n 取 8.
啊哈! 让我们看看! 我们假设一个表盘, 这个表盘一共有256个刻度, 从刻度0开始到刻度255. 那么我顺时针走一步, 意味着数值 + 1. 让我们看看, 255 + 1 == 256, 唔, 似乎我们又回到了表盘的起点? 表盘的起点是什么? 啊, 是0!
于是我们有:  2 ^ 8 - 3 == 0 - 3.
唔, 所以补码表示是怎么得来的, 明白了吗? 我们称256为一个字节的模. 一个负整数的补码, 说白了就是模减去其正整数, 明白了吗? 然后计算机算加减法就可以不再care符号位了.

===========================================

呵呵. LZ挺认真的. LZ看了我的解答估计很想K我罢(弄得高深莫测结果这么简单神马的, 哈哈)? 谁叫你不思考呢... 这高中数学嘛.

老实说, 我觉得LZ 93后, 虽然语文还不太好, 表达叙述没有层次和清晰感什么的, 但还是挺可爱的. 当时出这个题目想要稍微调戏一下LZ, LZ上当了, 哈哈, 开心~ LZ以后可以用这个调戏下00后什么的, 嗯, 主要是一连串的2很双关的说, 哈哈. 这里发现LZ既然如此认真可爱, 那么叔叔我就收回调戏LZ时的话, LZ你不2哈, 是叔叔我2了~

===========================================

论坛徽章:
11
摩羯座
日期:2013-09-16 11:10:272015亚冠之阿尔萨德
日期:2015-06-12 22:53:29午马
日期:2014-04-15 11:08:53亥猪
日期:2014-03-02 23:46:35申猴
日期:2013-12-06 22:07:00亥猪
日期:2013-11-28 12:03:13双鱼座
日期:2013-11-21 14:43:56亥猪
日期:2013-10-23 10:55:49处女座
日期:2013-10-17 18:15:43午马
日期:2013-09-27 17:40:4215-16赛季CBA联赛之青岛
日期:2016-06-22 00:45:55
18 [报告]
发表于 2013-02-03 18:37 |只看该作者
mci2004 发表于 2013-02-03 18:12
回复 15# Ager

爆照啦!?


是的。此头像是我的真人照片,呵呵:)





论坛徽章:
3
15-16赛季CBA联赛之山东
日期:2016-10-30 08:47:3015-16赛季CBA联赛之佛山
日期:2016-12-17 00:06:31CU十四周年纪念徽章
日期:2017-12-03 01:04:02
19 [报告]
发表于 2013-02-03 18:40 |只看该作者
本帖最后由 captivated 于 2013-02-03 18:42 编辑

17楼为本人解答. Ager大侠的解答与我殊途同归哈。

论坛徽章:
2
操作系统版块每日发帖之星
日期:2015-08-05 06:20:0015-16赛季CBA联赛之北控
日期:2019-02-13 22:56:03
20 [报告]
发表于 2013-02-03 19:14 |只看该作者
captivated 发表于 2013-02-03 18:37
呵呵. folklore 说得没错,这是等比数列求前N项和的问题.

设1 + 2 + 2 ^ 2 + 2 ^ 3 + 2 ^ 4 + 2 ^ 5 + 2 ...

大神,我那帖子本来就是求批评的,哈哈,我没有上当,我把你们出的这个问题去借用去问另外一个,非常牛的样子的人,他才是真的上当了呢{:3_189:} 我把你的题目改了一改
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP