- 七夕节

一开始第一遍提交出现超时问题
利用sqrt降低了复杂度 解决
代码如下
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,t,j;
scanf("%d",&t);
while(t–)
{
long long sum=0;
scanf("%d",&n);
for(i=1;i<=sqrt(n);i++)
{
if(n%i0)
{
sum+=i;
if(i!=1)
{
j=n/i;
if(j!=i)
{
sum+=j;
}
}
}
}
if(n
1)
{
sum=0;
}
printf("%lld\n",sum);
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42825751/article/details/83999600