
漢諾塔(Tower of Hanoi)源于印度傳說中,大梵天創造世界時造了三根金剛石柱子,其中一根柱子自底向上疊著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。
在進行轉移操作時,都必須確保大盤在小盤下面,且每次只能移動一個圓盤,最終c柱上所有的盤子也是從上到下按從小到大的順序擺放。
當a柱子上只有一個盤子時只要把那個盤子直接移到c就行了,有兩個盤子的話把1號盤先移到b柱,再把2號盤移到c柱,最后把b柱上的1號盤移到c柱就行了,那么如果有n個盤子呢?
這里我們先把上方的n-1個盤子看成整體,這下就等于只有兩個盤子,自然很容易了,我們只要完成兩個盤子的轉移就行了,再把前n-2個盤子看作一個整體,就這樣一步步向前找到可以直接移動的盤子,n-3……,2,1,最終,最上方的盤子是可以直接移動到c柱的。
看到這里其實就已經有了程序的設計思路,那就是遞歸,這個時候只要理解遞歸最終解決的問題是什么就行了,中間的事交給程序,遞歸可以很繞也可以很直接,我們按照最直接的理解就行了。
如果你想弄清楚每一步執行過程,那么你可以繼續往下看,確實有點亂,切記別把自己繞暈了。
舉個例子:當n=7時,前6個要想辦法成功移動到b柱上,7號是Boss,他不管上面的6個小弟用什么辦法,我可以先等著,于是7號在等著上面6個完成移到b柱,現在6是臨時老大,他也想去c柱,于是他命令前5個移到b柱,他等著,5號也采取之前兩個的做法,于是這個命令一直往前傳,沒辦法,上面被壓著自己也沒法動啊。
終于到了1號,他是現在唯一能動的,于是1號移動到了b柱,好了,2號可以到c柱。不過a柱上還有3號,于是讓1號移到c柱,3號可以到b柱了,之后1號和2號再想辦法到b柱,于是1、2、3號在b柱,4號也要到b柱啊,1、2、3號你們按照剛才的辦法到c柱,空出b柱給4號。后面的5號、6號都重復這樣的操作,終于前6號移動到b柱,7號直接跑到了c柱,于是剩下在b柱的6個小弟還要再干一遍他們在a柱上干的事。
2019年12月蘋果公司首席執行官蒂姆·庫克(Tim Cook)在新加坡訪問時接受采訪,呼吁當地兒童學習編碼,并稱其是一種“全球語言”。此外,他還談到在新加坡開設第三家門店的打算。
這是庫克自2011年接任蘋果首席執行官以來首次訪問新加坡,在為期兩天的新加坡之行中,推廣蘋果開發者生態系統是庫克的重要議程之一,他希望孩子們上學時就能接觸到編碼。

庫克稱,如果孩子們只能在母語之外學習一種語言,那就應該是編碼,因為“編碼是一種全球語言”。他還稱:“即使是最常用的語言也有區域性限制,包括英語和漢語。”
庫克指出,雖然編碼不會為人類建立新的疆域,但它提供了一個創造性解決問題的機會,因此應該被引入到數學、歷史或英語課程中。
蘋果CEO近期還專門在微博上向一位年僅8歲的中國朋友送上了生日祝福,這名8歲孩子是編程達人,今年8月份他在B站上上傳了第一個編程視頻,名為“小學生教你學編程”的Swift Playgrounds 通關教程,已經獲得了20W+的播放量。他爸爸“周花卷”透露,在很小的時候,Vita就已經展現出了超前的數學和邏輯思維,4歲半開始Vita就接觸與編程有關的知識了,5歲半左右,Vita就開始上手寫代碼了。

今天我們來看一下2019年第十一屆藍橋杯Scratch北京賽區的試題,最后一道題難度大大提升。
1.沙漠里有四個樹坑,小樹呈虛像狀態位于四個樹坑中
2.每次按下鼠標,多個水滴從鼠標處呈拋物線落下
3.澆水五次后,小樹從樹坑中長出來
這道題看似沒什么難度,因為小樹沒有成長過程,澆水直到虛像結束。但是題目明確要求水要呈拋物線落下,對于小朋友們難度很高。但是可以參考之前的競賽習題:小象噴水。
1.隱藏,置頂最上層。創建澆水次數變量
2.重復執行澆水,直到澆水次數為5
3.如果鼠標被按下,就開始執行澆水操作
4.澆水,實際上就是讓水滴克隆體進行拋物線運動。下面會放出參考程序,給x,y坐標一個變化值,同時y方向上的變化值也在不停地改變
1.開始,虛像特效100
2.接收到小樹長大,虛像變為0
這道題是一道比較綜合的題目,難點主要在于拋物線程序。小朋友們沒有接觸過的物理知識,就很難以制作甚至理解。簡單來說,x在改變的同時,y坐標減少,y坐標減少的速度越來越快。
