约数
如果一个整数n能除以整数d余数为0,那么d就是n的约数,又称因数,n就是d的倍数,那么如何求去一个数n的所有约数呢?
1.试除,首先我们知道约数,总是成对出现的,一个数d是n的,那么n/d也是这个数n的约数,除非完全平方数
int fd[1000],m=0;
for(int i=1;i<=n;i++)
{
if(n%i==0)
{
f[++m]=i;
if(i!=n/i) f[++m]=n/i;
}
}
2.若用试除法来求n的每一个数是否为n的约数,太过于浪费时间,时间复杂度过高,必须得进行一个优化。我们可以反过来考虑每一个数&#x