このメソッドは、Long
を受け取り、メソッドに渡される桁の素数のLongStream
を返します。共通因子を見つけるために、上記の方法を利用factors.java機能的なJavaストリームの素因数を1つの方法で得るには?
public LongStream factors(long x){
LongStream factorStream = LongStream.range(1, x+1).filter(n -> x%n == 0);
return factorStream;
}
最初OKあります。
primeFactors.java
public LongStream primeFactors(long x){
LongStream primeFactorStream = factors(x).filter(n -> factors(n).count() == 0);
//doesn't work as factors.java returns a LongStream, which might include non-prime factors, which will not equate to zero.
return primeFactorStream;
}
私は、これは簡単なisPrime()述語と法を用いて回避する必要があります理解しますが、同じことを行う方法がありますの素因数はですが、1つの方法でのみですか?
あなたはBigInteger.valueOf(n)を使用して文字列を避けることができ –
@SchiduLucaおもしろい、あなたの最後の3つの答えは素数についてです:) isProbablePrimeではなく、おそらく素数ですか? – Eugene
@Eugene前回私は '' certainty''パラメータを使いこなしました。 '' 10''を置くと '' 99.99''の確率が与えられます) –