Saya melihat tantangan utama lain yang muncul di PPCG, dan saya sangat menyukai saya bilangan prima. Kemudian saya salah membaca teks pengantar, dan bertanya-tanya apa otak kreatif di sini telah muncul.
Ternyata pertanyaan yang diajukan sepele, tetapi saya bertanya-tanya apakah hal yang sama berlaku untuk pertanyaan yang saya baca (salah):
6 dapat diwakili oleh 2 ^ 1 * 3 ^ 1, dan 50 dapat diwakili oleh 2 ^ 1 * 5 ^ 2 (di mana ^ menunjukkan eksponensial).
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 faktor prima unik n.
Kasus uji:
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)
Ini bukan urutan OEIS.
Mencetak:
Ini adalah kode-golf , skor terendah dalam byte menang!
64
hasil yang diharapkan adalah 1 (2). Saya suka ide melakukannya secara rekursif, tapi bukan itu cara saya membaca pertanyaan aslinya. Saya pikir 8640
itu kasus uji yang cocok, tetapi seharusnya lebih eksplisit - terima kasih.
64
? Apakah2 (2,3)
(karena 6 dapat direpresentasikan sebagai 2 * 3) atau1 (2)
(abaikan 6)?