[其他] 尋找更快的方法算這個題目嗎?

看板Math作者 (lily)時間12年前 (2013/10/05 02:21), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
這是一個很簡單理解的algorithm, 計算不複雜但就是"煩" 加上考試的時候時間一逼下來, 很容易就亂了陣腳 考試的時候花了快半小時在算這題 雖然拿到了分數 但我想在考試的設計上, 最多最多五分鐘就應該要估得出來。 所以我想請教大家這一題是不是有非土法大煉鋼的方式 他是要跑兩個loops, 大loop是a, 小loop是b. 一開始a=0, b=0, a先固定住,b從0開始變動 如果a^2+b^2<2500, 就維持a=0, 但b要加1, 若符合a^2+b^2<2500, b再加1, 這樣一直重複到不符合a^2+b^2<2500才停止, 然後Ci=count,紀錄這個process重複的次數, 比如說a=0, b可以從0一直到49, 所以C0=50, a=1, b可以從0一直到49, C1=50, a=2,3,....,9, b都是可以從0一直到49. 題目最後的問題是總count大約是多少? 概數以千為單位, 1000,2000,3000,etc. 我當時把這題留到最後,告訴自己靜下心算就有繡花針了, 從a=0,1,....一直算平方算減法算到a=35,b=35, 然後a=36以上時就利用先前算a=0~35的結果去反推Ci, 然後再逐個加起來。 最後答案雖然對了,但自己把以上programming的時候, 得到的數字是2006, 我當時考試算1939. 所以我想問大家,集思廣益一下是不是有什麼good idea, 像高斯算1加到100的那種巧算法~~ 謝謝大家!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 69.143.92.162 ※ 編輯: lily4 來自: 69.143.92.162 (10/05 02:22)
文章代碼(AID): #1IJmSxA3 (Math)
文章代碼(AID): #1IJmSxA3 (Math)