0

数値が素数かどうかを調べるプログラムを C# で作成しようとしています。最初の 2 つの if ステートメントを使用して多くのオプションを選び出し、最後の else ステートメント内でループをネストしようとしていますが、「到達不能なコードが検出されました」と表示されます。

public static bool primeNumber ()
    {
        Console.Write ("Please enter a number to see if it is a prime number: ");
        int num = int.Parse (Console.ReadLine ());
        if (num % 2 == 0)
            return false;
        else if (num % 5 == 0)
            return false;
        else {
            for (int i = 3; i < num / 2; i += 2)
            {
                if (num % i == 0)
                    return false;
                else 
                    return true;
            }
        }
    }
4

2 に答える 2

1

forループは最初の実行で返されるため、ここでは何もしません。

i += 2

到達することはありません。

ループ全体forは単一のreturn true.

于 2014-11-05T14:05:21.937 に答える