小黃鴨除錯法

發布時間: June 28, 2024, 7:57 a.m.   最後更新時間: June 28, 2024, 10:15 a.m.   時間限制: 1000ms   記憶體限制: 128M

呱呱呱呱呱呱呱,呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱。

呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱。

呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱。

呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱,呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱呱呱呱。

----------------譯文----------------

小黃鴨除錯法,又稱橡皮鴨除錯法、黃鴨除蟲法(Rubber Duck Debugging)是可在軟體工程中使用的一種程式碼除错的方法。方法就是在程式的除錯或測試過程中,操作人耐心地向小黃鴨解釋每一行程式的作用,以此來激發靈感與發現矛盾。

這參照於一個故事。故事中程式大師隨身攜帶一隻小黃鴨,在程式碼除錯的時候會在桌上放上這隻小黃鴨,然後耐心且詳細地向鴨子解釋每行程式碼。

許多程式設計師都有向別人提問及解釋程式設計問題的經歷,而對象甚至可能是完全不懂程式設計的人。而就在解釋的過程中,程式設計師可能就發覺了問題的解決方案。一邊闡述程式碼的意圖,一邊觀察它實際上的行為並做除錯,兩者間的任何不協調都會變得更明顯,使人更容易發現錯誤所在。如果沒有玩具小鴨,操作人也可以向其他任何東西傾訴,比如桌上的盆栽、鍵盤及滑鼠等。

2018年4月1日愚人節當天,問答網站Stack Exchange推出了名為「呱呱叫溢位(Quack Overflow)」的功能:一個小黃鴨形象會從網頁右下方冒出來,它會傾聽使用者的想法,並嘗試給出解決方案。實際上,這個小黃鴨形象會看起來在思考並且嘗試以文字回應,但最後只會以「呱呱」的鴨子叫聲來回應使用者。Stack Exchange宣稱這一功能與小黃鴨除錯法有關。不過一些使用者在看到這個小黃鴨形象時,以為是惡意軟體的結果,沒有意識到這是一個愚人節玩笑。

小黃鴨是一種解壓玩具,有著不同的大小和呆萌程度。根據塔納諾的研究顯示,小黃鴨的紓壓程度可以以下轉移式得出,設當小黃鴨的大小為$x$,呆萌程度為$y$時:

當$x\le1$時,紓壓程度為$y$。

當$x>1$時,小黃鴨的紓壓程度等價於大小$x-2$、呆萌程度$y+x$的小黃鴨和大小$x-y$、呆萌程度$2y$的小黃鴨紓壓程度相加。

你得到了一只小黃鴨,請問他的紓壓程度是多少?

輸入兩數$x$,$y$,表示小黃鴨大小為$x$,呆萌程度為$y$
$1\le x,y\le 10^4$

小黃鴨的紓壓程度。

複製範例
1 5
5
複製範例
3 5
18

呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱,呱呱呱呱。

----------------譯文----------------

呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱呱,呱呱呱呱呱呱呱呱,呱QwQ。

recursion

竹中軟研39th應用組期末競賽(A~Z瘋狂賽)