for(i=1;i<=n/2;i)//循环每个数(小优化:因为ij<=n j>=2 所以i<=n/2) for(j=2;ij<=n;j)//循环倍数(排除本身,从2开始) a[i*j]+=i;//目标数加上约数