1. 程式人生 > >Fun with Integers -codeforces

Fun with Integers -codeforces

讀懂題意就好,有個最直接的想法,列舉\(a,b\),複雜度\(O(n^2)\)。然而換成列舉\(a,x\),複雜度\(O(nlg(n))\)\(<a,b>\)\(<b,a>\)的貢獻只能算一次。

程式碼

#include <bits/stdc++.h>
using namespace std;

int n;
long long ans;

int main()
{
    cin >> n;
    for (int a = 2; a <= n / 2; ++a) for (int x = 2; x * a <= n; ++x) ans += x * 4;
    cout << ans << endl;

    return 0;
}