NYOJ 478(所有因子之和)
#include <stdio.h>
#include<math.h>
//#include<algorithm>
#define N 500001
int a[N];
int main()
{
int m,temp;int i,j,T;
for(int i = 0;i<N;i++)
a[i]=1;
// fill(a,a+N,1);
// temp=(int)(sqrt(N)+0.5);
for(i=2;i<=N/2;i++)//不能用temp
for(j=i*2;j<N;j+=i)
a[j]+=i;
scanf("%d",&T);
while(T--)
{
scanf("%d",&m);
printf("%d\n",m==1?0:a[m]);
}
return 0;
}
作者:火星十一郎
本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

浙公网安备 33010602011771号