前言
故事分享:相傳印度有位外來的大臣跟國王下棋,國王輸了,就答應滿足他一個要求:在棋盤上放米粒。第一格放1粒,第二格放2粒,然後是4粒,8粒,16粒…直到放到64格。國王哈哈大笑,認為他很傻,以為隻要這麼一點米。按照大臣的要求,放滿64個格,需米18446744073709551615粒,是二十位的數字。這些米别說傾空國庫,就是整個印度,甚至全世界的米,都無法滿足這個大臣的要求!
故事中的國王認為隻需要一點米,但實際全世界的米加起來都無法滿足這個要求,相同原理可知,如果用一張很小的紙進行反複折疊,那麼是不是要折疊幾千次才能達到珠穆朗瑪峰的高度呢?
問題描述
世界上最高山峰是珠穆朗瑪峰(8844.43米)。假如我有一張足夠大的紙,它的厚度是0.1毫米。那麼請問,我折疊多少次恰好可以折到珠穆朗瑪峰的高度?
解決方法
已知珠穆朗瑪峰的高度為8844430毫米,并且紙的厚度為0.1毫米。紙折疊一次其倍數翻一翻時,由于無法知曉折疊的次數,在這種情況下更适合使用while循環。
實驗結果與讨論
通過定義變量,使用while循環語句等證明紙張折疊27次即可達到珠穆朗瑪峰的高度,能夠解決開頭提出的問題。
代碼清單
package sctu.edu.test.com;
public class 珠穆朗瑪峰 {
public static void main(String[] args) {
int count = 0;
double paper =0.1;//定義紙張的厚度
int Mountain=8844430;//定義珠穆朗瑪峰的高度
while(paper <= Mountain){//條件判斷
paper *= 2;
count++;
}
System.out.println("需要折疊:" + count + "次");
}
}

結語
針對“珠穆朗瑪峰”問題,通過定義count、paper、Mountain三個變量值,再結合while語句,最終實作折疊次數。在對“珠穆朗瑪峰”案例的解決過程中進一步鞏固while語句,并将繼續Java的鞏固聯系。
實習編輯:衡輝