В PPCG я увидел еще одну сложную задачу, и я люблю некоторые простые числа. Затем я неправильно прочитал вступительный текст и удивился, что здесь задумали творческие мозги.
Оказывается, поставленный вопрос был тривиальным, но мне интересно, верно ли то же самое в отношении вопроса, который я (неправильно) прочитал:
6 может быть представлен 2 ^ 1 * 3 ^ 1, а 50 может быть представлен 2 ^ 1 * 5 ^ 2 (где ^ означает экспоненту).
Твое задание:
Напишите программу или функцию, чтобы определить, сколько различных простых чисел существует в этом представлении числа.
Входные данные:
Целое число n такое, что 1 <n <10 ^ 12, взятое любым нормальным методом.
Вывод:
Количество различных простых чисел, необходимых для представления уникальных простых множителей 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.
Подсчет очков:
Это Код-гольфвыигрывает самый низкий результат в байтах!
64
ожидаемого результата 1 (2). Мне нравится идея делать это рекурсивно, но я не так читаю оригинальный вопрос. Я думал, что это 8640
был подходящий тестовый пример, но должен был быть более явным - спасибо.
64
? Это2 (2,3)
(как 6 можно представить как 2 * 3) или1 (2)
(игнорировать 6)?