#include<bits/stdc++.h> using namespace std; const int maxn=500005; int a[maxn]= {0}; int main() { int n,t,ans; cin>>t; while(t--) { ans=1; cin>>n; for(int j=2; j<=sqrt(n); j++) { if(n%j==0&&n/j!=j) ans+=(j+n/j); if(n%j==0&&n/j==j) ans+=j; } cout<<ans<<endl; } return 0; }
#include<bits/stdc++.h> using namespace std; const int maxn=500005; int a[maxn]= {0}; int main() { int n,t; for(int i=1; i<maxn; i++) for(int j=i+i; j<maxn; j+=i) a[j]+=i; //素数筛的大表姿势 //第一次按照因数分解姿势超时 cin>>t; while(t--) { cin>>n; cout<<a[n]<<endl; } return 0; }