PPCGで別のプライムチャレンジが行われるのを見ました。いくつかのプライムが大好きです。それから私は紹介文を読み間違えて、ここで創造的な頭脳が何を思いついたのか疑問に思いました。
提起された質問は取るに足らないものだったことがわかりますが、私が読んだ(誤った)質問についても同じことが言えるのでしょうか。
6は2 ^ 1 * 3 ^ 1で表すことができ、50は2 ^ 1 * 5 ^ 2で表すことができます(^は指数を示します)。
あなたのタスク:
プログラムまたは関数を記述して、この数の表現にいくつの異なる素数があるかを判別します。
入力:
1 <n <10 ^ 12の整数n。通常の方法で取得されます。
出力:
nの一意の素因数を表すために必要な個別の素数の数。
テストケース:
Input Factorisation Unique primes in factorisation representation
24 2^3*3^1 2 (2, 3)
126 2^1*3^2*7^1 3 (2, 3, 7)
8 2^3 2 (2, 3)
64 2^6 1 (2) (6 doesn't get factorised further)
72 2^3*3^2 2 (2, 3)
8640 2^6*3^3*5^1 3 (2, 3, 5)
317011968 2^11*3^5*7^2*13^1 6 (2, 3, 5, 7, 11, 13)
27 3^3 1 (3)
これはOEISシーケンスではありません。
得点:
これはcode-golfで、バイト単位の最低スコアが勝ちます!
64
予想される結果1(2)です。私はそれを再帰的に行うという考えが好きですが、それは私が元の質問を読む方法ではありません。私8640
は適切なテストケースだと思いましたが、もっと明確にすべきでした-ありがとう。
64
何ですか?それは2 (2,3)
(6は2 * 3として表すことができるため)または1 (2)
(6を無視して)ですか?