題目連結
https://zerojudge.tw/ShowProblem?problemid=a216
解題思路
這題最直觀的方式是使用迴圈求出f、g值,但有鑑於本題的測資較大,為了避免出現TLE的情況,建議直接找出f(n)、g(n)的關係式以節省運算時間。如果一時之間看不出f(n)、g(n)關係式的話,可以多寫幾項觀察他們的規律。我們會發現f(n)就是連續正整數和,公式為 (n*(n+1))/2;g(n)則可以用數學上的遞迴關係式求得,公式為n*(n+1)*(n+2)/6。
注意事項
本題測資較大,部分測資的g(n)會超過int型態變數所能儲存的最大數值,因此需使用long long型態變數,寫法是%lld。
程式碼:C語言
1 |
|