-5
     public int getPrimesWithin(int min, int max)
{
    for (int n = min; n <= max; n++)
    {
        if (nums [n] == true)
        {
            return n;
        }

    }

}

コードを通過して素数を返すのは正しいことであり、2 つの数値の間に素数を返すには次に何をすべきか

4

3 に答える 3

2

最も単純なアルゴリズムでは、 までのすべての素数を知る必要があります (場合によっては、素数も含みます) sqrt(max)

  • 2 ~ の間の素数のリストを取得/作成しsqrt(max)ます。
  • nの間のすべての数値を繰り返すminmax
  • 素数のリストを繰り返し、それらが で割れるかどうかをテストしますn
  • それらのいずれかがそうである場合n、素数ではなく、内側の反復を終了できます。
  • それらのどれも約数でない場合、n素数です。
于 2013-08-29T22:20:59.433 に答える
0

これは常に true になります:

if (nums [n] = true)

私はあなたがこれを望んでいたと思います:

if (nums [n] == true)
于 2013-08-29T22:10:47.663 に答える