求正整数n的所有因子

时间:2024-03-20 17:35:55

因子的概念:假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称n为m的倍数。

求一个正整数n的所有因子,非常简单。只要从1到n逐个进行测试就可以。可以削减的一点计算量是不用遍历到n,遍历到根号n就可以。

C#代码如下

public List<int> Factors(int n)
{
List<int> list = new List<int>();
int rootn = Convert.ToInt32(Math.Floor(Math.Sqrt(n)));
for (int i = ; i <= rootn; i++)
{
if (n%i == )
{
list.Add(i);
if (i != n/i)
{
list.Add(n / i);
}
}
}
list.Sort();
return list;
}