数论分块的板子题,主要精华就一点:

剩下的可以看数论分块 - OI Wiki (oi-wiki.org)
#include "bits/stdc++.h" using namespace std; typedef long long LL; LL t,n; inline LL h(LL x){ LL i,j,l,r,ans=0; for (l=1;l<=x;l=r+1){ r=(n/(n/l)); ans+=(n/l)*(r-l+1); } return ans; } int main(){ LL i,j,l,r; scanf("%lld",&t); while (t--){ scanf("%lld",&n); printf("%lld\n",h(n)); } return 0; }
    未来是什么样,未来会发生什么,谁也不知道。  
但是我知道,  
起码从今天开始努力,  
肯定比从明天开始努力,  
要快一天实现梦想。  
千里之行,始于足下!       ——《那年那兔那些事儿》
 
                     
                    
                 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号