私はこの質問を解決する必要がありますが、要因を取得することに固執していますが、私がする必要があるのは...
正の数nは、因数分解があり、iとjがあり、i> 1、j> 1、j = i + 1の場合にのみ、連続因数分解されます。引数が連続因数分解された場合に1を返すisConsecutiveFactoredという名前の関数を記述します。それ以外の場合は0を返します。関数の署名はintisConsectiveFactored(int n)です。
関数のシグネチャはintです。isConsectiveFactored(int n) 例
nが24の場合、24 = 2 * 3*4および3=2 + 1であるため、1を返します。
nが105の場合、105 = 3 * 5 * 7および5!= 3 + 1および7!= 5 + 1であるため、0を返します。
nが90の場合、90の因数には2と3が含まれ、3 = 2 + 1であるため、1を返します。
これまでのところ、iveは係数を取得できました。つまり、数値が24の場合、iveは2と12を取得できましたが、そこでスタックして空白になりました。
using System;
using System.Collections.Generic;
using System.Text;
namespace isConsecutiveFactored
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(isConsecutiveFactored(24));
}
private static int isConsecutiveFactored(int p)
{
foreach (int a1 in getFactor(24))
{
Console.WriteLine(a1);
}
return 0;
}
private static List<int> getFactor(int p)
{
List<int> factor = new List<int>();
int max = (int)Math.Sqrt(p);
for (int i = 1; i <= max; i++)
{
if (i != 0)
{
if ((p % i) == 0)
{
if (i != max)
{
if ((p / i) != 1 && (p / i) != p)
{
factor.Add(i);
factor.Add(p / i);
//Console.WriteLine((p / i) + " " + "this is the factor");
}
}
}
}
//
}
List<int> fac = factor.GetRange(0, 2);
return fac;
}
}
}
誰かがこれで私を助けることができます.....