Salah satu cara untuk merepresentasikan bilangan asli adalah dengan mengalikan eksponen bilangan prima. Sebagai contoh, 6 dapat diwakili oleh 2 ^ 1 * 3 ^ 1, dan 50 dapat diwakili oleh 2 ^ 1 * 5 ^ 2 (di mana ^ menunjukkan eksponen). Jumlah bilangan prima dalam representasi ini dapat membantu menentukan apakah lebih pendek menggunakan metode representasi ini, dibandingkan dengan metode lain. Tetapi karena saya tidak ingin menghitung ini dengan tangan, saya memerlukan program untuk melakukannya untuk saya. Namun, karena saya harus mengingat program sampai saya pulang, itu harus sesingkat mungkin.
Tugas Anda:
Tulis program atau fungsi untuk menentukan berapa banyak bilangan prima yang berbeda dalam representasi angka ini.
Memasukkan:
Integer n sedemikian sehingga 1 <n <10 ^ 12, diambil dengan metode normal apa pun.
Keluaran:
Jumlah bilangan prima berbeda yang diperlukan untuk mewakili input, sebagaimana diuraikan dalam pendahuluan.
Kasus uji:
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)
Ini adalah OEIS A001221 .
Mencetak:
Ini adalah kode-golf , skor terendah dalam byte menang!