1044: 七夕节
错误:如果每次判断是否为因子,使用sqrt函数,就会超时。要么改成j*j<=n,要么就先单独存储一次sqrt(n)
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;
scanf("%d",&t);
for(int i=0;i<t;i++){
int n;
scanf("%d",&n);
int ans=1;
if(n!=1)
{
for(int j=2;j*j<=n;j++){
if(n%j==0){
if(n/j==j)
ans+=j;
else ans=ans+j+n/j;
}
}
}
printf("%d\n",ans);
}
}

浙公网安备 33010602011771号