題目概要:

給一個F(n)滿足以下條件:

1. n%10 if(n%10>0)

2. 0 if(n=0)

3. F(n/10) otherwise。

計算出p~q的總和。

解題方向:

1. 不可以直接依題目所給的條件寫成遞迴or迴圈,因為這樣執行時間會超過。雖然輸入是32bit,不過加總後的答案可能會超過32bit。

2. 使用(1+2+...+q)-(1+2+...+p)的概念。

3. 計算有多少個10的倍數(因為1+2+3+..+9=45,可以直接個數*45),加上剩下的數字(10的餘數)。

4. 當數字<=0時終止迴圈。

程式碼:

arrow
arrow
    文章標籤
    Java
    全站熱搜

    a7069810 發表在 痞客邦 留言(0) 人氣()