int main()
{
float a=0.0001
int cnt=0
for (a <1)
{
a *= 2
cnt++
}
printf("折叠次数:%d\n", cnt)
return 0
}
很简单,如果n = 1是折叠1次,应该为纸张的厚度*2,也就是0.05*1。为0.1mm。但是根据本答案提供的式子m*2^(n-1),答案应为m也就是0.05。在此即跟题意有所出入。
提供Python过程参考程序:
thick = 0.05x = 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次。