本文目錄一覽:
- 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;
}
原創文章,作者:CHESM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/324978.html