永发信息网

c语言折纸超过珠穆拉玛峰

答案:3  悬赏:70  手机版
解决时间 2021-11-08 10:28
  • 提问者网友:黑米和小志
  • 2021-11-07 11:05
c语言折纸超过珠穆拉玛峰
最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-11-07 11:58
很简单,如果n = 1是折叠1次,应该为纸张的厚度*2,也就是0.05*1。为0.1mm。但是根据本答案提供的式子m*2^(n-1),答案应为m也就是0.05。在此即跟题意有所出入。

提供Python过程参考程序:
thick = 0.05
x = 0
while thick <= 8848000:
    thick *= 2
    x += 1
    print(thick, x)显示效果如下:
次数    纸张厚度    
0    0.05    
1    0.1    
2    0.2    
3    0.4    
4    0.8    
5    1.6    
6    3.2    
7    6.4    
8    12.8    
9    25.6    
10    51.2    
11    102.4    
12    204.8    
13    409.6    
14    819.2    
15    1638.4    
16    3276.8    
17    6553.6    
18    13107.2    
19    26214.4    
20    52428.8    
21    104857.6    
22    209715.2    
23    419430.4    
24    838860.8    
25    1677722    
26    3355443    
27    6710886    
28    13421773    
答案应为28次。
全部回答
  • 1楼网友:西岸风
  • 2021-11-07 13:24
珠穆拉玛峰那么高,您这是什么纸?
  • 2楼网友:野味小生
  • 2021-11-07 12:31
随着折的次数,纸的层数变化为1、2、4、8...2^(n-1)
如果纸的厚度为m
则折叠后总厚度为m*2^(n-1)。到这儿,程序就很好写了。

按照珠峰高度为8848米来算,纸的厚度为0.05mm来算。
2^(n-1) = 8848m/(0.05mm/1000);
(n-1) = log2(176960000)
n= 27.399 + 1
取整 n = 29。

即折叠29次即可。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯