[其他] 尋找更快的方法算這個題目嗎?
這是一個很簡單理解的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)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):