【問題K10】最快讀取(read)。            [回頁]

KSHSeagate公司正在研發一種新的儲存裝置,他們需要你的幫忙來完成一個關鍵性的程式。這種儲存裝置,是用不同的原子排列成一條線,每個原子代表一個位元。要讀取這條「原子陣列」,他們用一個探針作前後移動來讀取。很不幸地,受限於技術問題,這個探針每次動作只能向前移動F個單位,或向後移動B個單位。一開始,這個探針位於原子陣列的一端,我們以坐標0表示這個位置。而這個原子陣列的另一端,我們用N表示它的坐標。

例如:

當F=4,B=3,N=10

若我們要讀取位置5的資料,我們可以命令這探針向前移動2次,向後1次,因為4+4-3=5。如此我們總共執行了3次動作。

    請你寫個程式,找出移動步驟最少的方法。請注意:探針只能在這個原子陣列內移動,也就是說,在整個移動過程中,探針的位置必需大於等於0且小於等於N。

輸入說明:

由鍵盤輸入一行四個正整數F、B、N、X。其中F、B、N的說明如前述,而X則為所欲移動的目標位置之坐標。你可以假設X<=N,且這四個數字最大不超過1000。

輸出說明:

輸出一個整數。若探針可以移動到目標上,請輸出最小移動步驟。若不行,請輸出0。

【輸入4 3 10 5

輸出】

3

【輸入14 6 29 17

輸出】

0