c語言疊紙問題,c語言紙對摺

本文目錄一覽:

c語言 編寫一張紙0.1毫米,不斷對摺,求對摺多少次能超過珠穆朗瑪峰的高度

將0.1毫米連續乘以2,直到剛剛大於或等於8848米(最近一次的測定值),連續乘以2的次數便是題解。代碼如下:

#include “stdio.h”

int main(int argc,char *argv[]){

int n;

double d;

for(d=0.1e-3,n=0;d8848;d+=d,n++);//每對摺一次的厚度是d+d

printf(“Need %d times.\n”,n);

return 0;

}

運行結果如下:

了解電子信息工程專業的請進。請教前輩們

我們老師曾經寫過一封信,很不錯!分享一下給你

同學們好,受鄭偉老師的委託,今天給大家寫一封信,談談我們電子類專業該怎麼學才好。受到我個人水平和眼界的影響,我說的話不一定對,請同學們批判的吸收。 我們小時候經常看武俠小說,都知道要想成為武林高手必須做到「外練筋骨皮,內練一口氣」。我們學電子類專業也需要做到這一點。只不過,學習中的「一口氣」就是指我們的專業課知識也就是理論知識。而「筋骨皮」就是指我們的技術技能,也就是實踐動手能力。所以說要想在這個專業成為「武林高手」,就需要大家內外結合,理論與實踐並重的來學習。 關於理論和實踐的關係,我套用現在流行的一句話來說就是:「如果想走的快,那麼你需要熟練的實踐技能,如果想走的遠那麼你需要紮實的理論知識。」下面我分別來闡述這兩點。 先說理論知識,這裡說的理論知識,說白了就是大家天天上課學習的課程,大學給大家安排的課程都是經過仔細研究和實踐經驗總結出來的,基本上是合理的。從我們剛入學的C語言,高等數學,積分變換,線性代數,概率論與數理統計再到電路,模擬電子技術,數字電子技術,微機原理,自動控制原理,到最後的信號與系統,數字信號處理,電磁場與波等等都是層層遞進的,每一門課都在你的知識體系里發揮著非常重要的作用。你們在學這些課程的時候可能最大的感受就是雲里霧裡,最大的疑惑就是學這個到底有什麼用?作業也做了,考試也考了,但是有什麼用?還是不知道,整個大學期間這個問題會始終困擾大家。之所以會產生這個問題的關鍵在於,大家沒有從宏觀的角度來看這個問題。如果你能跳出這個圈子,對整個知識體系有一個大的宏觀的了解的話,了解到他們的重要性,我相信你每門課都不會逃課的。下面我用一個簡單的例子來說明一下。比如我們要構建一個蔬菜大棚的自動調節系統。那這個系統中會用到我們學過的那些課程呢?首先,我們要採集大棚里的溫度和濕度,用什麼採集呢?用感測器(《檢測與轉換技術》)。感測器把物理信號變成了電信號,但是,這個電信號太微弱了,怎麼辦呢?我們把它放大(《模擬電子技術》)。放大之後的信號還是模擬信號,然後我們把它變成數字信號,進入數字系統中進行處理,這就需要我們做AD轉換(《數字電子技術》),把模擬信號變成了數字信號的過程中,模擬信號中有沒有干擾呢?干擾信號是不是也同時變成了數字信號進入了數字系統呢?答案是肯定的。那我們就需要把干擾信號去掉,把有用的信號提取出來(《信號與系統》、《數字信號處理》)。這些處理的過程怎麼實現呢,我們要編程來實現(《C語言》),編寫的程序誰來運行呢?用微處理器(《微機原理與單片機技術》)。好了,現在通過編程我們計算出了我們想要的結果,下面我們要把這個結果反饋到環境中,來調節大棚內的溫濕度。我們繼續我們的信號流程,要調節了,調節誰呢?大多數情況下是通過電機(《電機學》、《電機與拖動》)來執行我們的這個決定,而電機驅動需要的是模擬信號,那麼我們就需要進行DA轉換將數字量轉成模擬量(《數字電子技術》),或者用電磁閥作為執行機構,電磁閥需要的是數字信號,我們就不需要進行DA轉換了。最終,電磁閥打開或者關閉,大棚開始或停止澆水來調節大棚濕度。或者通過電機將大棚頂上的氈子開始打開或關閉來通過日照調節大棚內的溫度。通過這個例子我們可以發現,我們所學的課程基本上都包含在我們的應用里了。如果我把這個題目交給同學們來做,動手能力強的同學可能很快就能做出來,然後大家覺得,你看,我不需要很高深的理論知識也做得不錯嘛。這裡需要強調的是,我們只是舉了一個很簡單的例子,來構建了一個這樣的模型來說明問題,但在現實中,雖然結構都是很相似的,但是,具體情況恐怕要複雜的多了。比如,各種各樣的物理量怎麼測?信號太微弱怎麼辦?雜波干擾太嚴重,有用信號被埋沒了怎麼辦?信號實時性要求太高怎麼辦?這裡的每一個環節都是一個領域,沒有高深的理論水平,你是解決不了複雜的問題的,就像我說的,你動手能力強,很快能上手,但你走不遠,你不能解決複雜的問題,原因就是你沒有深厚的理論支撐。想要深厚的理論支撐還有一個內容不得不提,那就是數學。我們再剛才的例子中好像沒有見到數學的影子,其實數學已經隱含在其中了。比如我們的電路,自動控制原理,現代控制原理,數字信號處理,信號與系統等等很多核心課程都是數學的應用。我有時候開玩笑的說,如果再讓我上一次大學,我會選擇數學專業,因為學好了數學,我可以轉行控制,轉行計算機,轉行物理,轉行經濟等等。我們還規划了一條專業路徑,本科讀數學,碩士讀物理,博士讀工科,如果這樣,必將成為學術牛人。所以說數學是工科之基礎。學好數學才是抓住了根本。低年級的同學在學數學的時候,不知道有什麼用,學不好,等到了高年級終於知道怎麼用了,又學不會了。所以比較聰明的做法就是,先前瞻一下將來要學的課程,把學長的專業書都借來大概的看一遍,不要求你看懂,只是看看都有哪些數學工具被用到了,在學習到這個部分的時候,就留心學好。 最後,關於專業課的學習方法,我推薦「總結歸納」法。用自己的話把所學的知識點寫到一張紙上,積少成多,最後這疊紙就可以作為複習大綱。你可以試試。 好了,這個是理論知識,還是那句話,如果你想走得更遠,以後讀碩士,讀博士,那麼請你把理論打紮實,會受益終身。 下面我們再來看看「筋骨皮」。這裡所說的就是指我們的實踐動手能力了。比如寫程序代碼,做電路板PCB,焊接電路,調試程序等等。如果你想走得快,想很快能見到學習的成效,那麼你就需要培養自己這方面的能力了。動手能力的培養對你有什麼好處呢?我列舉幾個1、可以參加學科競賽獲得更多的證書,增加保研幾率;2、可以完成一個比較優秀的畢業設計;3、找工作的時候會有更多的機會;4、研究生面試的時候會有更大的錄取幾率; 這方面能力的培養沒有包含在我們的主流課程中,有一些可以通過公選課來學習,大部分都需要自己在課外時間進行。和理論知識的學習相比,它是將理論想法變成現實的主要手段,是理論知識的延伸。如果只是把理論知識停留在紙上,變不成程序代碼,變不成硬體電路,那就不能發揮優秀的理論知識的價值。對於我們學電子的同學,我們要學的或者說可以學的這方面的知識有很多,下面我分類來說明一下:1、軟體 軟體又分為PC機軟體語言和嵌入式系統。PC機軟體語言是計算機專業的範疇,主要有VC++、JAVA、C#、Labview、Labwindows。目前技術的發展,在很多領域已經沒有很明確的劃分,我們有很多電子類的同學畢業後都從事了軟體開發的工作。比如網站建設、安卓系統應用程序開發、和硬體設備配套的上位機軟體開發、遊戲開發等等。這裡和我們專業比較相關的是VC++和兩個NI公司的軟體Labview、Labwindows。嵌入式系統是一項很主流的技術,就是在微處理器中運行一個小的操作系統。目前主流的操作系統主要還是Linux和uC/os。這門技術相對於編程語言來說難度更大。僅僅依靠同學們自學恐怕很難有成果,所以我們很多同學在畢業之前都去專門的培訓公司參加了相關的培訓。如果我們同學能在大學期間掌握這門技術,那麼在畢業就業的時候就會非常有優勢。這兩個操作系統相比,前者更主流但是也更難,後者作為入門來說比較合適,但是也有一定的難度,最好能有計算機專業相關知識的基礎,還有就是要有很紮實的C語言功底。除了NI公司的軟體,其他軟體我們都是要和計算機專業的同學有競爭,我們處於弱勢,因為有很多計算機方面知識我們都沒有學習,比如編譯原理,數據結構等等。所以,如果我們學習的話,就算很快能上手,但還是那句話,我們恐怕沒有他們走的遠。但作為電子類的同學,相比計算機專業,我們更了解底層硬體,所以我們可以從事和底層硬體相關的驅動程序和介面程序的編寫工作。2、單片機技術 單片機技術是我們這個專業的主流技術,我們很多同學也開始自己學習相關的知識,概括起來主要有51、AVR、STM32、STM8、DSP、AMR、PIC、Freescale等等。在單片機領域,從應用的角度來說,沒有好壞之分,只有適合和不適合,不同的應用環境,需要選擇不同型號,不同等級的單片機,沒有哪個更好,哪個不好這樣的說法。如果你能非常精通一個型號的或者一個系列的單片機,那也是非常了不起的事情了。從學習的角度來看,要想有更大的發展,我們應該至少掌握一款32位的單片機,比如STM32或者ARM,但是我們同學往往學完8位機就停滯不前了,很少有能學習32位單片機學的比較好的同學。要想解決這個問題,方法只有一個,縮短學習時間,提高學習效率,在最短的時間裡儘快掌握一款單片機,然後趕在考研之前,再學一款32位單片機。其實單片機很多東西都是相通的,學好了一個,就能很快上手其他型號的單片機,另外,在學習的時候,最好能有一款開發板,邊學邊練。有很多同學開始接觸單片機的時候就已經大三了,那麼這樣,在這個領域,你已經沒有時間和精力在這個方面了。由於我經常帶比賽出去,通過和其他學校的同學交流,我發現,很多高校在比賽用的微處理器等級上已經遠遠超過我們了,我們還停留在51,AVR的層面上,已經有些落後了。3、硬體設計硬體設計分為兩個方面:1、電路板的繪製焊接;電路板的繪製焊接是一個技術活,是比較容易上手的一門技術,當然,想要做好也不容易,但是應付我們平時的應用,應該問題不大。我們同學在學習技術的時候,總是喜歡選擇編程,很少有涉及到這個方面的。這個方面的最主要學習的內容就是一款叫做ALTIUM DESIGNER的軟體。我們圖書館裡有很多這個方面的書,就純粹畫PCB板來說,對理論知識要求不高,但是如果是設計原理圖,那還是需要一定的技術水平的。繪製電路板對提高系統穩定性有很大的幫助,我們同學可能是由於經濟原因吧,也可能是初學,很少有使用PCB電路板來搭建電路的。當然了,從鍛煉的角度來看,用萬用板也無可厚非,但是,如果一旦方案成熟,需要跑很遠去參賽或者把作品現場演示參賽的情況下,為了可靠,還是建議做一塊PCB電路板。關於這個問題我不展開說了,還有很多比如元器件的選擇,封裝,焊接等問題,有需要了解的同學可以和我交流。2、FPGA技術;FPGA技術是數字電子技術發展到今天的一種新的產物,是一門全新的技術,有一些專業開設了這門課。目前也算一門主流技術。對電科,光電專業尤為重要,除了電氣專業,其他專業都有涉及應用。但是由於我們在這個方面的應用太少,所以不能形成氣候,學習的氛圍不是很濃,如果你有機會進入高水平大學讀研究生的話,可能會接觸的多一些。我們也有很多畢業生在從事這個方面的工作。我們需要了解的主流技術就這麼多了。掌握一門技藝在手的好處我已經在開始的時候說過了,掌握了技術,就可以用學科競賽來鍛煉和提高,同時也有收穫。我們每年都有許多競賽類別,大家可以根據自己的興趣愛好有選擇的參加來鍛煉自己。 總結一下,如果你能在理論學習和動手實踐上都有所成就,那麼就會成為學院的「武林高手」,想做到這一點,不是一件容易的事情,人的精力和時間都是有限的,想要更多的收穫,就需要你投入更大的精力和時間,每一屆我們都有同學達到了這個層面,相信你也可以做到。但是如果做不到面面俱到,那麼最好在兩者之間找到一個平衡點,都有所兼顧。再退一步,如果實在兼顧不了,我建議以學業為重,將學校安排的課程學好,順利畢業或者考研都是可以接受的結果。 最後,想說說英語的學習,我感覺秘訣只有一個:堅持不懈。每天積累一點點,到最後會變成很大一筆財富。英語要每天見面,要做計劃,把英語單詞書分成單元,一天兩個單元,不到兩個月,一本書就能看完,時間其實不長,但是就是缺乏堅持。找一件事,堅持做下去,你會發現量變到質變的飛躍的。我們已經有不少同學已經到了大洋彼岸,這都是很好的英語學習的榜樣。 同學們,你們正值風華正茂,萬萬不可荒廢學業,蹉跎歲月,少壯不努力,老大徒傷悲。不想學習時,看看每天早上圖書館門前的長隊,看看自習室密密麻麻的人群,看看深夜回去路上披星戴月的大四學長,看看長長的考研名單,只有發自內心的動力才是最強有力的動力,行動起來吧,用行動來詮釋什麼叫奮鬥。好了,啰嗦了半天,最後又煽了煽情,希望對你們有所幫助,祝你們好運!

c語言摺紙超過珠穆拉瑪峰

很簡單,如果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次。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198795.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 10:27
下一篇 2024-12-04 10:27

相關推薦

  • Python官網中文版:解決你的編程問題

    Python是一種高級編程語言,它可以用於Web開發、科學計算、人工智慧等領域。Python官網中文版提供了全面的資源和教程,可以幫助你入門學習和進一步提高編程技能。 一、Pyth…

    編程 2025-04-29
  • 如何解決WPS保存提示會導致宏不可用的問題

    如果您使用過WPS,可能會碰到在保存的時候提示「文件中含有宏,保存將導致宏不可用」的問題。這個問題是因為WPS在默認情況下不允許保存帶有宏的文件,為了解決這個問題,本篇文章將從多個…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • Java Thread.start() 執行幾次的相關問題

    Java多線程編程作為Java開發中的重要內容,自然會有很多相關問題。在本篇文章中,我們將以Java Thread.start() 執行幾次為中心,為您介紹這方面的問題及其解決方案…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python爬蟲亂碼問題

    在網路爬蟲中,經常會遇到中文亂碼問題。雖然Python自帶了編碼轉換功能,但有時候會出現一些比較奇怪的情況。本文章將從多個方面對Python爬蟲亂碼問題進行詳細的闡述,並給出對應的…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • NodeJS 建立TCP連接出現粘包問題

    在TCP/IP協議中,由於TCP是面向位元組流的協議,發送方把需要傳輸的數據流按照MSS(Maximum Segment Size,最大報文段長度)來分割成若干個TCP分節,在接收端…

    編程 2025-04-29

發表回復

登錄後才能評論