网上推出的公式 2*Σ(n/i) - n*n
#include<cstdio> #include<cmath> #include<algorithm> using namespace std; int main(){ int T,n; scanf("%d",&T); while(T--){ long long res = 0; scanf("%d",&n); int m = sqrt(1.0 * n); for( int i = 1; i <= m; i++){ res += i * (n / i - n / (i + 1)); } for( int i = n / (m +1); i >= 1; i--){ res += n / i; } printf("%lld\n",res); } }