本文目录一览:
- 1、C语言习题 设有一张无穷大的纸 厚0.01mm,问对折多少次才能达到珠峰高度8848m
- 2、C语言设计一个程序,一张纸厚0.1毫米,珠穆朗玛峰8848.13米,将纸对折多少次就可以超过珠穆朗玛峰的高度?
- 3、一张无限大的纸折多少次与珠峰一样高 用c语言进行编程
- 4、用c语言解决:珠穆朗玛峰有8848.13米,一张厚度为0.1mm的纸,如果纸够大,需要折叠多少次才可以超过此高度
C语言习题 设有一张无穷大的纸 厚0.01mm,问对折多少次才能达到珠峰高度8848m
#include stdio.h
int main()
{
double high = 8848000, s = 0.01;
int i;
for (i = 1;; ++i){
s *= 2;
if (s high){
break;
}
}
printf("%d次\n", i);
return 0;
}
C语言设计一个程序,一张纸厚0.1毫米,珠穆朗玛峰8848.13米,将纸对折多少次就可以超过珠穆朗玛峰的高度?
mian(){ double p=0.0001,z=8848.13;i=1; while(p=z) { p=2*p; i++; }pfintf("%.0f\n",i);}
一张无限大的纸折多少次与珠峰一样高 用c语言进行编程
假设纸的厚度为0.104mm,珠峰取8848m
方法一:
用数学运算化简,本题化为不等式
(2的x次方)*0.104/1000 8848
则x log(2为底)(8848*1000/0.104)的对数的最小整数
则C程序可以简化为:
#include stdio.h
#include math.h
int main() {
double x = log10(8848*1000/0.104)/log10(2);
printf("%.0f\n", ceil(x)); //输出次数
return 0;
}
方法二:
纯程序法,每折一次,都计算当前的高度,与8848做对比,8848时,完成。
#include stdio.h
int main() {
int i = 0;
double h=0.0f;
while (h8848.0) { //这里使用了while循环,也可以改用for, do ... while等
h = pow(2, ++i)*0.104/1000; //化为米
}
printf("%d\n", i);
return 0;
}
用c语言解决:珠穆朗玛峰有8848.13米,一张厚度为0.1mm的纸,如果纸够大,需要折叠多少次才可以超过此高度
如果是脑筋急转弯的话答案应该是9次。。。
不管什么纸,叠9次以后就不可能再叠加了
或者
while(length88481300)
{
i++;
length = length * 2;
}