题目意思很简单,不解释
有两种方法,
1是暴力法,不就是
2就是下面要讲的方法
假如果说一个数n可以被b整除,那么一定可以被b的因子整除
那么我需要做的就是枚举这些因子
多余的请看代码
#include <iostream> #include <cstdio> using namespace std; int n,T,f[500001]; int main(){ f[1]=1; for (int i=1;i<=250000;i++) for (int j=i+i;j<=500000;j+=i) f[j]+=i; cin>>T; while(T--){ scanf("%d",&n); printf("%d\n",f[n]); } return 0; }