约数
如果一个整数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的约数,太过于浪费时间,时间复杂度过高,必须得进行一个优化。我们可以反过来考虑每一个数,对于每一个数d,1~N中以d为约数的数就是d的倍数d,2d,3d。所以,使用倍数法来进行求取

本文介绍了约数的概念及其求解方法,包括试除法和倍数法。接着讲解了最大公约数(GCD)的定义和计算,以及互质的概念。最后,探讨了欧拉函数,包括其计算公式和性质,并展示了如何计算欧拉函数的值。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



