編集:助けてくれてありがとう、私は私の間違いが数字=(40 / i)であるはずだったのに数字=(40 / i)を入れていたことに気づきました...何らかの理由で私は頭の中に数字40を持っていました。
また、最初のループで欠落している「i ++」は、コードを修正しようとしたときに誤って削除してしまったことです:P
オリジナル:
整数のリストの形で素数の素因数を返すメソッドを作りました。ただし、リストを要素で埋めようとすると、エラーが発生します。なんで?
static List<int> PrimeFactors(int number)
{
bool prime = false;
List<int> primeFactors = new List<int>();
for (int i = 2; i < number; )
{
if (number % i == 0)
{
prime = true;
break;
}
}
if (prime)
{
for (int i = 2; i < number; i++)
{
if (number % i == 0)
{
primeFactors.Add(i); // <--- Error at this line.
number = (40 / i);
i = 1;
}
}
primeFactors.Add(number);
}
return primeFactors;
}