怎么样把一张纸对折九次!求图解

JavaScript09

怎么样把一张纸对折九次!求图解,第1张

这个提问涉及到定义(概念),基于什么是“一张纸”,什么是“折”等不同的定义会有不同的回答。

如果那“一张纸”是指通常见的A4左右大小的普通书写纸,而“折”是指类似通常手工操作的对折,折九次时后纸的总厚度是单张的512倍,也就是这时的厚度远大于宽度(宽度已经变成原来的512分之1),那由于这“纸”的材料力学的弯曲和弹性等的特性,在不破坏(撕裂)的条件下是无法做到的。

但如果那“一张纸”非常大,而且其弯曲特性也非常好,那这“纸”折九次是完全做得到的。

不过我想提问者应该是问通常见的A4左右大小的普通书写纸,而“折”是指类似通常手工操作的对折。如果这提问加上“常用的”(纸)等这类限定,那就不会有涉及到定义(概念)的麻烦了。

一张纸无法对折9次,原因如下:

一张纸对折一次,厚度变成原来的2倍

再对折第二次,变为原来的2的2次方倍即4倍

以此类推,假设这纸足够大,对折50次,厚度将变为原来的2的50次方倍

为了计算方便,设2的10次方(1024)为1000,那么2的50次方倍相当于1千万亿倍(10的15次方)

不同的纸的厚度不同,假设一张纸的厚度为0.045毫米(100张厚度达到4.5毫米的那种),乘以以上倍数,可得4千5百万公里——光线从这头跑到另一头需要两分半钟

补充:之所以我上面把1024去掉尾数24,只是为了简便的示意算法(计算机里对字节数的计算就是按这个算法来的)。

精确一点,2^50实际上等于1,125,899,906,842,624,如果那一千万亿倍吓不住别人,说一千一百万亿倍也未必能增加多少恐吓的效果——所以说简略的结果并不影响这个超级大数对人思维的震撼

网上都说一张纸对折最多不能超过7次,个人认为这个道理是不对的,因为自己在一个视频网站上亲眼看过一张纸,只要足够大大到一定程度,它完全可以对折超过7次最多到13次左右,更大的实验自己没有见过。

这没有什么高深的原理,就是简单的折叠和对折,这种折叠和对折,它的面积。缩小是呈现倍数的分布的,比如说第1次面积缩小一倍,第2次缩小4倍,第3次缩小8倍,这样一个循环往复的过程,7次之后那那个缩小的倍数就已经非常非常小了,这张纸本身的面积又不是特别大的情况下,那自然就不能再折叠第8次了,至少我们平常所使用的a4纸就差不多是这个次数,你可以自己尝试一下。

能够得到更多的次数是什么原理呢?就是这种只足够大足够饱,他就可以叠加更多的次数,比如你可以尝试着找一张。足球场那么大的纸,你尝试一下折叠找几个小伙伴,你肯定最终会发现折叠的次数远远不止,其次超过10次都很正常,因为这张纸足够大,哪怕面积缩小到2的6次幂。这张纸的面积仍然足够大,足够让他去折叠第7次,所以你就会感觉这个道理就不是那么的对了,因为实践出真知,你自己不尝试,你永远不知道他对还是不对。

这只是生活中的一个小小的现象的总结而已,他谈不上什么科学道理,就像说别人告诉你,你喝水一次喝500毫升就差不多了,你非要喝更多,那当然也可以啊,你一次喝一升的水也没有人管你,这只是一个常识性的问题而已,并不存在谁对谁错的问题,只有你能够拿出另外一个反例证明他的这个例子是错的,那你的例子就是对的。

int main()

{

  float a=0.0001

  int cnt=0

  for (a <1)

  {

      a *= 2

      cnt++

  }

  printf("折叠次数:%d\n", cnt)

  return 0

}