#include<iostream>
#include<cstdio>
#include<map>
#include<string>
#include<cstring>
#include<cmath>
using namespace std;
int m[500000+200];
int main()
{
int n;
int d;
d=sqrt(500000.0);
m[1]=0;
for(int i=2;i<=500000;i++)
m[i]=1;
for(int i=2;i<=d;i++)
m[i]=1;
for(int i=2;i<=d;i++)
{
m[i*i]+=i;
for(int j=i+1;j<=(500000/i);j++)
{
m[i*j]+=(i+j);
}
}
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
int u;
scanf("%d",&u);
printf("%d\n",m[u]);
}
}
}
zoj 2095 求一个数除数的和
最新推荐文章于 2019-08-15 09:03:57 发布