hnnu 11546 Sum of f(x) (求一个数的全部约数和)
代码:
#include<cstdio> #include<cstring> #define N 200000 using namespace std; long long f[N+5]; long long s[N+5]; int main() { s[0]=0; for(int i=1;i<=N;i++) { for(int j=1;j*i<=N;j++) { f[j*i]+=i; } } for(int i=1;i<=N;i++) { s[i]=s[i-1]+f[i]; } int t; scanf("%d",&t); while(t--) { int l,r; scanf("%d%d",&l,&r); printf("%I64d\n",s[r]-s[l-1]); } return 0; }