题目链接:http://www.spoj.com/problems/DIVSUM/en/
水题一道,这里不详细说明。
以下是AC代码:
/*
name:Rollchuchy
type:
*/
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<vector>
#define MAX_N 500005
using namespace std;
int num[500005];
int divisor(int n)
{
int ans=0;
for(int i=1;i*i<=n;i++)
{
if(n%i==0){
ans+=i;
if(i!=n/i) ans+=n/i;
}
}
return ans-n;
}
int main()
{
//freopen("in.txt","r",stdin);
int T;
cin>>T;
while(T--){
int n;
scanf("%d",&n);
printf("%d\n",divisor(n));
}
return 0;
}