math_isPrime

指定した数値が素数であるかを表す値を取得します。


taiseiue | 2025-02-13

定義

名前空間: Alice.Math
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Math.cs

math_isPrime(number)

指定した数値が素数であるかを表す値を取得します。

AliceScript
namespace Alice.Math;
public bool math_isPrime(number value);
引数
value 判定対象の数値。
戻り値
number valueが素数であればtrue、それ以外の場合はfalse

対応
AliceScript RC1、RC2、GM、2.0、2.1、2.2、2.3、3.0、4
AliceSister GM、2.0、2.1、2.2、2.3、3.0、4
Losetta 0.8、0.9、0.10、0.11

説明

素数は、1とその数自身のみを約数に持つ数と定義されています。

valueの値がmath_NaNmath_Infinitymath_NegativeInfinityまたは2未満の数の場合、この関数はfalseを返します。

この関数は、試し割り法を用いてvalueが素数であるか、それとも合成数であるかを判定します。この方法では、\(2\)から\(\sqrt{value}\)までの数で割れるかどうかを順々に試し、どんな数でも割れなかった場合に素数であるとみなします。この関数の計算量は\(O(\sqrt{n})\)です。

次の例では、一桁の自然数のうち、素数のものを表示しています。

AliceScript
using Alice.Math;

for(var n = 0;n < 10; n++)
{
    if(math_isPrime(n))
    {
        print(n);
    }
}