固有素数はいくつありますか?

自然数を表す1つの方法は、素数の指数を掛けることです。たとえば、6は2 ^ 1 * 3 ^ 1で表すことができ、50は2 ^ 1
* 5 ^
2で表すことができます(ここで^は指数を表します)。この表現における素数の数は、他の方法と比較して、この表現方法を使用するのがより短いかどうかを判断するのに役立ちます。しかし、私はこれらを手で計算したくないので、私のためにそれを行うためのプログラムが必要です。しかし、家に帰るまでプログラムを覚えておく必要があるので、できるだけ短くする必要があります。

あなたのタスク:

この数式の中にいくつの異なる素数があるかを決定するためのプログラムまたは関数を記述します。

入力:

An integer n such that 1 < n < 10^12, taken by any normal
method.

出力:

導入を概説した、入力を表すために必要な別個の素数の数。

テストケース:

24      -> 2 (2^3*3^1)
126     -> 3 (2^1*3^2*7^1)
1538493 -> 4 (3^1*11^1*23^1*2027^1)
123456  -> 3 (2^6*3^1*643^1)

これは OEIS
A001221
です。

得点:

This is ,
lowest score in bytes wins!

ベストアンサー

MATL, 4 3 bytes

Luis Mendoのおかげで-1バイト

YFz

オンラインで試してみてください!

YF         Exponents of prime factors
  z        Number of nonzeros

元の答え:

Yfun

オンラインで試してみてください!

ver Yfun の回答です。

          (Implicit input)
Yf         Prime factorization
  u        Unique
   n       Numel
           (Implicit output)

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です