我已经编写了这段代码,但它耗费了大量的时间来计算......你能帮我找到一个有效的方法吗?
int tag;
int* factors(int n)
{
int a[1000000];
for(int i=1;i<=n/2;i++)
if(n%i==0)
a[++tag]=i;
a[++tag]=n;
return(a);
}
Run Code Online (Sandbox Code Playgroud)
这种蛮力方法在复杂性方面非常沉重......对于这个问题,有没有更好的可行解决方案?